JAVA(9)
-
[JAVA] 추상 클래스(Abstract Class)
추상 클래스(abstract Class)? 상속을 목적으로상위 클래스에 하위 클래스 공통점을 모아두는 목적으로 설계된 클래스이다. 추상 클래스 특징 위에서 언급했듯 상속을 목적으로 둔 클래스이다. 추상 클래스를 틀이라고 생각하면 이해가 빠를 것이다. 예를 들어, 사람의 정보를 클래스 화 시키면 사람에게는 누구나 성별, 이름, 나이 가 있을 것이다. 이런 공통점들을 상위 클래스 인 추상 클래스에 모아 두고 하위 클래스에서 오버 라이딩(재정의) 할 수 있게 한다. 중복 코드를 줄일 수 있으며 코드에 통일성과 유지 보수성이 뛰어나다.(시간 절약) 추상 클래스 예제 1. 추상 클래스 인 Shapes, 추상 메서드 Area(넓이) 선언 이때 클래스 앞에 abstract, 메서드는 중괄호 없이 선언하면 된다. 추상..
2020.05.18 -
[JAVA]오버라이딩(Overriding)
Overriding? 상위 클래스에서 하위 클래스를 상속할 경우, 둘의 메소드 명이 동일할 때 하위 클래스에서 메소드를 재정의 하는 것을 말한다. Overriding의 조건 메소드 명이 동일해야 하고 매개변수 또한 동일해야 한다. 상속 관계 일 때만 성립이 된다. 하위 클래스의 접근 제어자가 상위 클래스의 접근 제어자 보다 더 크거나 같아야 한다. ex) 상위 클래스 : package(default) -> 하위 클래스(public, package(default), protected) 오버 라이딩(Overriding), 오버 로딩(Overloading)의 차이점 오버 로딩의경우 메소드 명 이 동일하고 매개변수 는 달라야 하지만 오버라이딩 은 메소드 명, 매개변수 또한 동일해야 한다. 오버 라이딩의경우 상속..
2020.05.10 -
[JAVA] 오버로딩(OverLoading )
오버 로딩? 매개변수를 다르게 하여 같은 이름의 메소드를 생성하는 기술이다. 오버 로딩이 왜 필요한가? 다형성 때문이다. 여기서 다형성이란? 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질을 말한다. 오버 로딩의 조건? 메소드의 명이 동일해야 한다 매개변수의 유형 혹은 개수가 달라야 한다. 오버 로딩 에도 크게 두 가지 메소드 오버 로딩, 생성자 오버 로딩이 있다. 둘 다 개념은 같다. 예제를 보면서 좀더 알아보자. 생성자 오버 로딩 생성자는 클래스 명과 동일하게 오버 로딩을 위해서는 동일한 메소드 명, 매개변수 유형과 개수를 각각 다르게 한다. 생성자를 선언할 때 매개변수의 값에 따라 출력 값이 달라질 것이다. 이 처럼 오버 로딩은 다형성을 위한 기술이다. 출력 값 첫 번째 출력은 첫번..
2020.05.07 -
[JAVA] Map(HashMap)
map? List처럼 데이터의 집합이지만, 순서가 유지되지 않고 Map은 키(key)와 값(value)의 쌍으로 구성된 데이터의 집합이다. 이때, 키값은 중복이 허용되지 않으며 value는 중복을 허용한다. map의 특징 순서가 유지되지 않으며 map은 고유의 key를 통해 데이터 검색에 특화되어 있다. 연락처라고 생각하면 이해하기 쉬울 것이다. 보통 우리는 휴대폰에 연락처를 저장할 때 그 사람의 이름을 입력하고 전화번호를 입력할 것이다. 이때 이름을 key, 전화번호를 value라고 생각하면 된다. HashMap put : 데이터 입력하기 변수명.put(key,value); 이때, HashMap 은 null 값을 허용한다. get : 데이터 조회하기 key 값을 이용하여 조회를 한다 변수명.get(ke..
2020.04.22 -
[JAVA] List - ArrayList
List ? 배열과 비슷한 자료형 이며, 객체를 인덱스로 관리하여 객체 추가시 자동 인덱스가 부여된다. 객체를 인덱스로 관리하기 때문에 인덱스를 통해 데이터 삭제, 검색이 가능하다. List 의 특징 동일한 값을 저장할수 있다. Null 값도 저장할수 있다. 다양한 메서드와 함수로 사용이 편리하다. 배열과 List 의 차이점 배열(Array)의 크기는 정해져 있지만 리스트는 크기를 변경할수 있기 때문에 훨씬 유연하다 리스트는 기본적으로 제공하는 메서드와 함수가 다양하여 편의성을 가지고 있다. CPU 처리 속도 에서도 차이점을 보이는데 배열이 리스트 보다 훨씬 빠르다. 배열의 차이점에서도 언급했듯이 프로그래밍 할때는 배열의 크기를 알수 있는 상황 보다는 모르는 상황이 더많다. 이렇게 크기를 정할수 없을경우..
2020.04.12