Template Method 패턴

2026. 4. 17. 19:04·복습/소프트웨어디자인패턴

템플릿 메소드 패턴이란?

상위 클래스에서, 추상 메소드를 정의하고(템플릿)

하위 클래스에서 추상 메소드를 구현하는 패턴

: 처리의 흐름은 상위클래스가 결정한다.

상위클래스가 뼈대 결정 > 하위클래스에서 내용 결정

 

예제)

AbstractDisply class

display(): 추상 메소드 open,print,close 를 사용한 메소드 => 템플릿 메소드

open,print,close는 CharDisplay/StringDisply같은 하위클래스에 구현을 맡김(오버라이딩)

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();
	}
}

Main

d1에는 CharDisplay의 open() 호출

d2에는 StringDisplay의 open() 호출

d3에는 StringDisplay의 open() 호출

=> 다형성

public class Main{
	public static void main(String[] args){
		AbstractDisplay d1= new CharDisplay('H');
		AbstractDisplay d2= new StringDisplay("Hello, world.");
		AbstractDisplay d3= new StringDisplay("안녕하세요.");
	
	    d1.display();
		d2.display();
		d3.display();
	}
}

 

 

템플릿 메소드의 장점?

로직 공통화!

 

템플릿 메소드 패턴을 사용하지않으면,

로직을 바꿔야하는 경우 하위class의 모든 templateMethod()를 수정해야함

템플릿 메소드 사용 전 >

 

polymorphism(다형성)

다형성은 class에 적용되는 말이 아님

method에 적용되는 말임! (주의)

dog.speak() cat.speak() ...등등

'복습 > 소프트웨어디자인패턴' 카테고리의 다른 글

Singleton 패턴  (0) 2026.04.17
Factory Method 패턴  (1) 2026.04.17
Adapter 패턴  (0) 2026.04.17
Iterator 패턴  (0) 2026.04.17
디자인패턴 (기초,uml)  (0) 2026.04.17
'복습/소프트웨어디자인패턴' 카테고리의 다른 글
  • Singleton 패턴
  • Factory Method 패턴
  • Adapter 패턴
  • Iterator 패턴
hyeumm.dev
hyeumm.dev
말하는 감자입니다. 많이 응원해주세요..^^
  • hyeumm.dev
    천방지축 개발자 되기 프로젝트
    hyeumm.dev
  • 전체
    오늘
    어제
    • 아무개 (78)
      • 복습 (41)
        • 알고리즘 (3)
        • 소프트웨어디자인패턴 (8)
        • 네트워크 (3)
        • 자료구조 (1)
        • C++ (1)
        • 서구실 (6)
        • 멋쟁이사자처럼 (3)
        • SOPT (7)
        • 소분설 (6)
        • 운영체제 (3)
      • 회고 (2)
        • UMC (0)
      • 프로그래밍 (19)
        • 안드로이드 (15)
        • 백준 (0)
        • 파이썬 기초 (0)
        • kotlin in action (3)
        • 테스트 코드 (1)
      • 디자인 (7)
      • 기획 (3)
        • 서비스 리뷰 (1)
        • IT 알쓸신잡 (2)
      • 대외활동 (5)
        • 네이버 클라우드 캠프 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    멋쟁이사자처럼
    네이버클라우드
    해커톤
    비트캠프강남
    서류
    KDT
    솝트
    네클캠
    ncamp서포터즈
    sopt
    hyperclovax
    발대식
    네이버클라우드캠프서포터즈
    PM
    4호선톤
    네이버클라우드캠프
    IT동아리
    에이아이팜
    #네이버클라우드캠프
    국비교육
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
hyeumm.dev
Template Method 패턴
상단으로

티스토리툴바