abstract

황희윤·2023년 11월 9일

abstract

실체가 없는, 구현이 안 된 속성

  • 상속 관계에서 하위 클래스가 추상 메서드를 재정의(overriding)하면 객체를 생성할 수 있다.

  • 추상 클래스는 상속 관계가 필수적이다.

  • 추상 클래스로부터 상속 관계에 있는 하위 클래스는 반드시 @Override 어노테이션을 이용해서 추상 메서드를 재정의해야 한다.

필요한 이유

  • 상속 관계에서 반드시 재정의하고 싶은 메서드를 상위 클래스에서 상속하고 싶을 때

  • 상위 클래스의 메서드를 하위 클래스에 강제로 재정의하게 하기 위해서

  • 객체지향의 다형성을 구현

다형성

  • 비슷한 클래스형이 여러개 있을 때, 공통적인 속성과 메서드는 하나의 상위 클래스에 선언(일반화)하고, 상위 클래스로부터 상속받아 하위 클래스를 정의하는 것이 올바르다.

  • 상위 클래스를 사용해 여러 하위 클래스를 한번에 제어하기 쉬워진다.

추상 클래스와 업캐스팅

  • 추상 클래스가 업캐스팅과 결합하면 다양한 하위 클래스형을 하나의 상위 클래스형으로 처리할 수 있다.
profile
HeeYun's programming study

0개의 댓글