문제 및 이론 정리/디자인패턴

[디자인패턴] Template Method - 상속

hail2y 2025. 1. 21. 17:01

책 [JAVA 언어로 배우는 디자인 패턴 입문 3판;유키 히로시 저]을 참고하여 작성하였습니다.

 

추상 클래스

- 템플릿 메서드에서 추상 메서드 사용

- 이 추상 메서드를 구현부에서 구현

- 상위 클래스에서는 처리의 뼈대(알고리즘)를 결정

- 구체적인 처리 내용은 하위 클래스까지 가야 결정되지만, 추상 클래스 단계에서 처리 흐름을 형성할 수 있다

 

구현 클래스 

- 하위 클래스에서 그 구체적 내용을 결정

 

메인부

 

  • 로직을 공통화할 수 있다 ... 공통된 알고리즘, 유지보수 관점
  • 상위 클래스와 하위 클래스의 연계 플레이 ... 상위 클래스의 소스 프로그램 없이 하위 클래스의 구현이 어려울 수 있다
  • 하위 클래스를 상위 클래스와 동일시한다 
    - 상위 클래스형 변수에 하위 클래스의 인스턴스 중 어느 것을 대입해도 제대로 동작할 수 있게 하는 원칙(LSP)

cf. Strategy 패턴에서는 프로그램 일부를 변경하기보다는 알고리즘 전체를 모두 전환한다