개발일지/자바

디자인패턴 - 템플릿 패턴(final 사용법)

ZI_CO 2022. 9. 7. 19:48

템플릿 메소드 패턴(Template Method Pattern) 이란?

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

 

방법

1. (부모클래스)

public abstract class [클래스명] {  -- 부모클래스

}

--------------------------------------------------------------------------------------------------------------------------------------------------

2.

public  abstract void 메소드명() - 하위 클래스에서 무조건 있어야 하는 메소드(단. 메소드 내에 있는 기능은 재구성이 가능)

하위 클래스에서 @Override 해서 재구성(일반메소드로 변경됨)

--------------------------------------------------------------------------------------------------------------------------------------------------

3.

일반 메소드도 함께 사용가능

--------------------------------------------------------------------------------------------------------------------------------------------------

4.final public void 메소드명() {

} -- final이 붙게되면 하위(자식 클래스) 에서 재구성이 불가능하다. 

--------------------------------------------------------------------------------------------------------------------------------------------------