추상이란? 실체 간의 공통된 특성을 추출하는 것을 말한다.
추상클래스는 클래스들간의 공통된 특성을 추출해서 선언한 클래스를 말하며 추상 클래스와 원래의 클래스(실체 클래스)들 간에는 상속의 관계를 가지고 있다.
추상클래스가 부모 클래스가 되고 실체클래스들이 자식 클래스가 되어 부모의 모든 특성을 가지고 추가적인 특성을 가질 수 있다.
예를 들어 iphone.class, galaxy.class, balckberry.class가 있을 때 이들의 공통되는 특성을 추출해 phone.class 라는 추상클래스를 만들 수 있다.
이 추상클래스는 객체를 직접 생성해서 사용할 수 없다. = new 연산자를 사용해 인스턴스를 사용할 수 없다.
그러면 추상 클래스를 왜 사용할까?
1. 실체 클래스들의 공통된 필드와 메소드의 이름을 통일 하기 위해서 사용
2. 실체 클래스를 작성할 때 시간을 절약할 수 있다.
모든 폰에는 전원을 키고 끌 수 있는 버튼이 있으므로 전원을 끄고 키는 구체적인 방법은 실체 클래스에서 작성하고
공통된 내용은 추상클래스에서 설계해서 시간을 절약할 수 있다.
추상클래스는 어떻게 만들까?
1. 추상클래스를 선언할 때에는 클래스 선언에 abstract 를 붙여야 한다.
2. 필드, 생성자, 메소드 선언을 할 수 있다.
3. new연산자로 직접 생성자를 호출할 수는 없지만 실체 클래스에서 super를 호출해 추상 클래스의 객체를 생성하므로 생성자가 반드시 필요하다.
1. 추상클래스 선언
2. 추상클래스를 사용해 실체클래스를 생성
3. 추상클래스와 실체클래스를 사용한 객체 생성
'STUDY > JAVA' 카테고리의 다른 글
열거타입(Enumeration type) (0) | 2022.10.27 |
---|---|
string 배열 비교(참조타입 배열 비교) (0) | 2022.10.27 |
List와 Array(배열)의 차이점 + ArrayList (0) | 2022.10.27 |
오버로딩과 오버라이딩의 차이점 (0) | 2022.10.26 |
JAVA - Stream(스트림) (0) | 2022.05.16 |