빠에야는 개발중

템플릿 메소드 패턴 본문

공부/디자인패턴

템플릿 메소드 패턴

빠에야좋아 2018. 3. 14. 22:56

템플릿 메소드 패턴이란 같은 이름의 추상 메소드를 다른 클래스에서 상속받아 각자 다르게 구현하는 패턴이다. 즉 상위 클래스에서 메소드의 "틀"을 제공하는 것인데, 그야말로 추상화 자체라고 할 수 있겠다.


아래의 코드에서 여러 교복 회사들이 같은 상위 클래스 UniformFactory를 상속하여 같은 이름의 메소드 makeUniform()을 사용하지만 그 구현 내용은 각자 다르다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public abstract class UniformFactory {
    public void makeUniform() {
        button();
    }
    
    abstract void button();
}
 
 
public class Smart extends UniformFactory {
    public void button() {
        System.out.println("스마트는 동그란 단추");
    }
}
 
public class Elite extends UniformFactory{
    public void button() {
        System.out.println("엘리트는 네모단추");
    }
}
 
public class Skoolooks extends UniformFactory {
    public void button() {
        System.out.println("스쿨룩스는 하트단추");
    }
}
cs

1
2
3
4
5
6
7
8
9
10
11
12
public class Uniform {
    public static void main(String[] args) {
        Smart s = new Smart();
        Elite e = new Elite();
        Skoolooks sk = new Skoolooks();
        
        s.makeUniform();
        e.makeUniform();
        sk.makeUniform();
    }
}
 

cs


1
2
3
스마트는 동그란 단추
엘리트는 네모단추
스쿨룩스는 하트단추
cs


'공부 > 디자인패턴' 카테고리의 다른 글

빌더 패턴  (0) 2018.03.19
싱글톤 패턴  (0) 2018.03.15
팩토리 패턴  (0) 2018.03.14
Comments