새소식

Java/제대로 파는 자바

[제대로 파는 자바 (Java)-by 얄코] 추상 클래스

  • -

해당 게시물은 [제대로 파는 자바 (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의 오류 안내 클릭
    • 접근 제어자 의미 없음(자식에서 결정할 것이기 때문에)

 

 

 

 

  • 클래스 메소드는 추상 메소드로 작성할 수 없음
    • 인스턴스를 생성해서 쓰는 것이 아니므로 맞지 않음

클래스 메소드는 추상 메소드 불가하므로 각 자식 클래스에서 각각 구현하였음

 

 

 

 

 

 

 

 

 

다른 예시 코드

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.