템플릿 메서드 패턴

Red Culture·2021년 6월 12일

템플릿 메서드 패턴이란

추상 클래스로 선언된 상위 클래스에서 추상 메서드를 이용하여 전체 구현의 흐름을 정의하고 구체적인 각 메서드 구현은 하위 클래스에 위임한다. 하위 클래스가 다른 구현을 했지만, 템플릿 메서드에 정의된 시나리오 대로 수행된다. 전체적인 흐름을 통일 시키지만 상속받은 클래스로 하여금 어느정도 유연성을 주도록하는 디자인 패턴이다.

(템플릿 메서드: 추상 메서드나 구현된 메서드를 활용하여 전체의 흐름(시나리오)을 정의해놓은 메서드, final로 선언하여 하위 클래스에서 재정의할 수 없게함)

예제

public abstract class Coffee {
	final void makeCoffee() {
		boilWater();
        	putEspresso();
        	putIce();
        	putAddMaterial();
    	}
    
    	abstract void putAddMaterial();
    	private void boilWater() { System.out.println("물을 끓인다."); }
	private void putEspresso() { System.out.println("에스프레소를 넣는다."); }
	private void putIce() { System.out.println("얼음을 넣는다."); }

}
profile
자기 개발, 학습 정리를 위한 블로그

0개의 댓글