-
[디자인 패턴] Template Method 패턴Programming Language/java 2023. 8. 20. 19:02
1. Template Method 패턴이 무엇인지
2. 언제 사용하는지 알아보자
Template Method 패턴은 상위 클래스에서 뼈대를 결정하고 하위 클래스에서 구체적인 내용을 결정하는 패턴이라고 한다.
이 내용만 보고 이해가 되지 않으니 실제 예시를 들어서 살펴보자
AbstractDisplay 라는 추상 클래스에서 다음과 같이 정의한다.
public abstract class AbstractDisplay { // 하위 클래스에서 상속받아 구체적으로 구현할 추상 메서드들 public abstract void open(); public abstract void print(); public abstract void close(); // 추상 클래스에서도 일반 메서드를 정의할 수 있다 public final void display() { open(); for(int i = 0; i<5; i++) print(); close(); } }AbstarctDisplay 클래스를 상속받은 하위 클래스는 추상 메서드들을 반드시 구현해야 한다.
public class CharDisplay extends AbstractDisplay { private char ch; public CharDisplay(char ch) { this.ch = ch; } // 반드시 구현해줘야 하는 메서드들 @Override public void open() { System.out.print("<<"); } @Override public void print() { System.out.print(ch); } @Override public void open() { System.out.print(">>"); } }아래와 같이 사용한다.
AbstarctDisplay d1 = new CharDisplay('H'); d1.display();여러 xxxDisplay 클래스를 관리할 때 유지보수 측면에서 유리하겠지만
그런 상황이 많이 겪게될지는 잘 모르겠다. 그리고 상속을 해서 써야한다는 점에서도 별로인 듯...
'Programming Language > java' 카테고리의 다른 글
[디자인 패턴] 싱글톤 패턴 (0) 2023.09.01 [디자인 패턴] Factory Method 패턴 (0) 2023.08.20 [디자인 패턴] Adapter 패턴 (0) 2023.08.19 [디자인 패턴] Iterator 패턴 (0) 2023.08.19 Thread start() run() 차이 (0) 2022.06.26