디자인패턴 - 템플릿 패턴(final 사용법)
템플릿 메소드 패턴(Template Method Pattern) 이란?
- 추상 메서드나 구현 된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 메서드
- final 선언하여 하위 클래스에 재정의 할 수 없게 함
- 프레임워크에서 많이 사용되는 설계패턴
- 추상 클래스로 선언된 상위 클래스에서 탬플릿 메서드를 활용하여 전체적인 흐름을 정의 하고 하위 클래스에서
다르게 구현되어야 하는 부분은 추상 메서드로 선언하여 하위 클래스에서 구현 하도록 함
방법
1. (부모클래스)
public abstract class [클래스명] { -- 부모클래스
}
--------------------------------------------------------------------------------------------------------------------------------------------------
2.
public abstract void 메소드명() - 하위 클래스에서 무조건 있어야 하는 메소드(단. 메소드 내에 있는 기능은 재구성이 가능)
하위 클래스에서 @Override 해서 재구성(일반메소드로 변경됨)
--------------------------------------------------------------------------------------------------------------------------------------------------
3.
일반 메소드도 함께 사용가능
--------------------------------------------------------------------------------------------------------------------------------------------------
4.final public void 메소드명() {
} -- final이 붙게되면 하위(자식 클래스) 에서 재구성이 불가능하다.
--------------------------------------------------------------------------------------------------------------------------------------------------