-
추상클래스(abstract class)Programming/Java 2021. 8. 23. 11:17
추상 개념
- 추상화 : 공통되는 속성을 추출해 조상클래스를 만든다
※ 구체화 : 조상 클래스를 사용해 자손 클래스를 만든다.(상속)
- abstract 키워드를 붙인다.
추상클래스
- 미완성 클래스 -> new 명령문으로 인스턴스 생성 불가
- 자손클래스에 의해서만 완성될 수 있다.
- 자체로는 클래스로서의 역할을 온전히 할 수 없으나 새로운 클래스들을 작성 시 틀이 되는 조상클래스로서 중요한 의미를 가짐
- 추상메서드를 한 개 이상 가진 클래스
- 클래스 선언부에 abstract 반드시 명시
추상메서드 (abstract method)
- 미완성 메서드
- 메서드 선언부만 있고 구현부(본문)가 없다({ } 블록 자체가 없음)
- 설계만 해놓고 실제 수행될 내용은 자손클래스에서 구현하도록 비워둔다.
- 메서드 선언부에 abstract 명시
추상클래스를 상속받은 자식 클래스는
1. 추상메서드 오버라이딩 또는
2. 본인도 추상클래스가 되는 두 가지 선택지 중 택일해야 한다.
질문) 구현부 내용 없이 { }만 두는 것과 추상메서드로 만드는 것의 차이는?
구현부가 빈 메서드는 자손클래스에서 오버라이딩을 안 할 수도 있다. 그러나 추상메서드로 만들면 자손클래스에서 반드시 오버라이딩하여 구현해야 한다. 반드시 필요한 메서드를 강제하기 위해 추상메서드로 설계한다.
'Programming > Java' 카테고리의 다른 글
static 메서드와 인스턴스 메서드 (0) 2021.10.07 롬복 @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor (0) 2021.09.18 제어자의 조합 (0) 2021.08.09 접근제어자 (0) 2021.08.09 제어자 modifier (0) 2021.08.09