해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다.
- 스스로는 인스턴스를 만들 수 없음
- 그냥 ‘포유류’라고 불리는 동물은 없는 것처럼…
- 자식 클래스로 파생되기 위한 클래스
- 개, 고양이, 말 등의 클래스로서 인스턴스 생성 (구상 클래스)
- 관련된 여러 클래스들의 공통분모를 정의하기 위한 클래스
abstract 클래스
YalcoChicken ychStore1 = new YalcoChicken("판교");
YalcoChicken ychStore2 = new YalcoChicken("강남");
YalcoCafe ycfStore1 = new YalcoCafe("울릉", true);
YalcoCafe ycfStore2 = new YalcoCafe("강릉", false);
YalcoGroup[] ycStores = {
ychStore1, ychStore2,
ycfStore1, ycfStore2
};
for (YalcoGroup ycStore : ycStores) {
ycStore.takeOrder();
}
abstract 메소드
- 추상 클래스에서만 사용 가능
- 스스로는 선언만 하고 구현하지 않음
- ⭐ 자식 클래스에서 반드시 구현
- 구현하지 않을 시 컴파일 에러
- 메뉴 - 코드 - 메서드 구현 / IDE의 오류 안내 클릭
- 접근 제어자 의미 없음(자식에서 결정할 것이기 때문에)
- 클래스 메소드는 추상 메소드로 작성할 수 없음
- 인스턴스를 생성해서 쓰는 것이 아니므로 맞지 않음
다른 예시 코드