리셋 되지 말자

템플릿 메서드 패턴(Template Method Pattern) 본문

Java(폐지)/디자인 패턴

템플릿 메서드 패턴(Template Method Pattern)

kyeongjun-dev 2020. 8. 4. 17:32

템플릿 메서드 패턴:템플릿 메서드와 훅(hook) 메서드가 존재하는 패턴

템플릿 메서드


상위 클래스에 공통 로직을 수행하는 메서드

훅(hook) 메서드


선택적으로 오버라이딩할 수 있는 메서드

 

예시 코드

  • Animal.java
package templeteMethodPattern;

public abstract class Animal {
    // 템플릿 메서드
    public void playWithOwner() {
        System.out.println("이리온");
        play();
        runSomething();
        System.out.println("잘했어");
    }

    // 추상 메서드
    abstract void play();

    // hook 메서드
    void runSomething() {
        System.out.println("꼬리 흔들기");
    }
}

간단 정리


템플릿 메서드와 훅(hook) 메서드가 존재하면 템플릿 메서드 패턴이다.
추상 메서드와 훅 메서드의 차이점은, 하위 클래스에서 상속 받았을 때 구현을 강제로 하느냐 마느냐의 차이다.

쉬운 예제로 설명해 놓으신 블로그가 있어서 주소를 남긴다

https://jusungpark.tistory.com/24

Comments