5. 템플릿 메서드 패턴(Template Method Pattern)
부모클래스에 추상 메서드가 있으면 오버라이딩은 필수
훅 메서드에 대한 오버라이딩은 선택
“상위 클래스의 견본 메서드에서 하위 클래스가 오버라이딩한 메서드를 호출하는 패턴”
템플릿 이라는 조금 거대한? 변하지 않는 틀을 만들어 두고 일부 변하는 부분을 별도로 호출해서 해결하는 패턴
템플릿 메서드 패턴은 부모 클래스에 변하지 않는 템플릿을 두고, 변하는 부분은 자식 클래스에 두어서 상속을 사용해서 문제를 해결.
템플릿 메서드 디자인 패턴의 목적은 다음과 같습니다. "작업에서 알고리즘의 골격을 정의하고 일부 단계를 하위 클래스로 연기합니다. 템플릿 메서드를 사용하면 하위 클래스가 알고리즘의 구조를 변경하지 않고도 알고리즘의 특정 단계를 재정의할 수 있습니다." [GOF 디자인 패턴]
템플릿 메서드 패턴의 단점
상속을 사용 → 자식 클래스와 부모 클래스간 결합이 강함(강한 의존관계)
자식 클래스(sub class) 입장에서는 부모 클래스의 기능을 사용하지 않음.
부모 클래스를 사용하지 않는데 알아야 하는 것은 좋은 설계가 아님.
Last updated