ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [디자인 패턴] 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
Designed by Tistory.