5. 템플릿 메서드 패턴(Template Method Pattern)

  • 부모클래스에 추상 메서드가 있으면 오버라이딩은 필수

  • 훅 메서드에 대한 오버라이딩은 선택

  • 상위 클래스의 견본 메서드에서 하위 클래스가 오버라이딩한 메서드를 호출하는 패턴

  • 템플릿 이라는 조금 거대한? 변하지 않는 틀을 만들어 두고 일부 변하는 부분을 별도로 호출해서 해결하는 패턴

  • 템플릿 메서드 패턴은 부모 클래스에 변하지 않는 템플릿을 두고, 변하는 부분은 자식 클래스에 두어서 상속을 사용해서 문제를 해결.

    • 템플릿 메서드 디자인 패턴의 목적은 다음과 같습니다. "작업에서 알고리즘의 골격을 정의하고 일부 단계를 하위 클래스로 연기합니다. 템플릿 메서드를 사용하면 하위 클래스가 알고리즘의 구조를 변경하지 않고도 알고리즘의 특정 단계를 재정의할 수 있습니다." [GOF 디자인 패턴]


템플릿 메서드 패턴의 단점

  • 상속을 사용 → 자식 클래스와 부모 클래스간 결합이 강함(강한 의존관계)

    • 자식 클래스(sub class) 입장에서는 부모 클래스의 기능을 사용하지 않음.

    • 부모 클래스를 사용하지 않는데 알아야 하는 것은 좋은 설계가 아님.

Last updated