반응형

정의

추상 클래스(abstract calss)의 의미

  • 클래스 계층구조에서 상위에 위치, 하위 클래스를 대표하는 클래스
  • 추상의 의미대로 '구체적이지 않은' 클래스
  • 보다 구체적인 하위 클래스를 대표하는 클래스

 

다른 일반 클래스와 구별되는 특징

  • 추상 클래스는 직접 객체화(instantiation)될 수 없다.
  • (즉, 생성자를 사용하여 객체를 생성할 수 없다.)
  • 추상 클래스는 다른 클래스에 의하여 상속되어야 한다.
  • (즉, 하위 클래스가 없는 추상 클래스는 의미가 없다.)
  • 추상 클래스는 하위 클래스가 있어야 하므로 구현 시 클래스 앞에 final이 올 수 없다.

 

 

abstract 키워드

 

추상 클래스와 추상 메소드 예시 (1)

 

 

추상 메소드

추상 메소드

  • 메소드 몸체가 없는 메소드
  • 추상 메소드 정의 시 반환형 앞에 키워드 abstract를 기술하고
  • 메소드 몸체 구현 없이 바로 세미콜론 삽입
  • 추상 메소드 private와 final이 사용될 수 없음

 

추상 클래스

  • 적어도 하나 이상의 추상 메소드를 가진 클래스는 반드시 추상이어야 함
  • 키워드 final 사용 불가능

 

 

추상 메소드 구현

 

추상 클래스와 추상 메소드 예시 (2)

 

 

추상 클래스와 추상 메소드 실행 결과

 

 

삼각형

  • 좌표 (x, y)
  • 길이
  • 높이

추상 메소드 구현 예시 (1)

 

 

사각형

  • 좌표 (x, y)
  • 길이
  • 높이

추상 메소드 구현 예시 (2)

 

 

  • 좌표 (x, y)
  • 반지름

추상 메소드 구현 예시 (3)

 

 

반응형

+ Recent posts