추상클래스 (abstract class)

  • 추상 메서드를 포함한  클래스
  • 추상 메서드는 구현코드 없이 메서드의 선언만 있다.
abstact int add(int x, int y);
  • abstract 예약어 사용
  • 추상 클래스는 new (인스턴스화) 할 수 없음
  • 추상 메서드가 없다고 해도 추상 클래스가 될 수 있다.

추상 클래스와 템플릿 메서드

템플릿 메서드

  • 추상 메서드나 구현된 메서드를 활용하여 전체 기능의 흐름 (시나리오)를 정의하는 메서드
  • final 로 선언하면 하위 클래스에서 재정의 할 수 없음
  • 프레임워크에서 많이 사용되는 설계 패턴
  • 추상 클래스로 선언된 상위 클래스에 템플릿 메서드를 활용하여 전체적인 흐름을 정의하고 하위 클래스에서 다르게 구현되어야 하는 부분은 추상 메서드로 선언하여 하위 클래스가 구현하도록 함


final 예약어

  • final 변수는 값이 변경될 수 없는 상수
  • final 변수는 오직 한 번만 값을 할당할 수 있음
  • final 메서드는 하위클래스에서 재정의 (overriding)할 수 없음
  • final 클래스는 더 이상 상속되지 않음

 

 

 

'Back-end > java' 카테고리의 다른 글

기본 클래스  (0) 2021.06.22
인터페이스  (0) 2021.06.22
상속과 다형성  (0) 2021.06.22
배열과 ArrayList  (0) 2021.06.21
클래스와 객체  (0) 2021.06.21

+ Recent posts