[Lecture Note] 객체지향 프로그래밍 - 17 추상클래스 활용하기(1) 18 추상클래스와 탬플릿 메서드 활용(2)
객체지향프로그래밍 입문 강의의 강의 내용을 참고하여 정리한 글입니다.
추상클래스란?
추상 메서드를 포함한 클래스로 구현코드 없이 메서드의 선언만 있으며 인스턴스 화(new) 하여 사용하지 못한다.
처음에 선언만 할 땐 이름과 argument만 정해져 있는 것으로 결국 추상 클래스는 상속을 위한 클래스가 된다.
abstract int add(int x, int y); // 선언만 되어 있는 추상 매서드
int add(int x, int y){
// 구현 파트
}
이렇게 구성하면 상위 클래스는 메소드 구현을 하위 클래스에게 위임시킨 것이며 하위 클래스는 구현에 대한 책임을 가진다고 생각하자.
훅 메서드
추상 메서드처럼 꼭 구현할 필요 없고 필요에 따라 재정의(override)를 통해 구현하는 메서드를 훅 메서드(hook method)라고 한다.
템플릿 메서드
추상 메서드나 구현된 메서드를 활용하여 젠체 기능의 흐름(시나리오)를 정의하는 매서드로, final로 선언하면 하위 클래스에서 재정의할 수 없다.
주로 프레임 워크에서 사용하는 설계 패턴으로 추상 클래스(상위 클래스)와 하위 클래스의 역할을 잘 구분할 수 있을 것으로 생각한다.
Final 예약어
- 변수에 사용된 경우 : 상수
- 메서드에 사용된 경우 : override 불가
- 클래스에 사용돈 경우 : 더이상 상속되지 않음
- ex. String class
댓글남기기