<aside>
📌 로직의 기본 흐름을 정의하는 패턴
코드의 중심인 AbstractClass
와 그 구현체인 ConcreteClass
로 구성된다.
</aside>
기본적으로 동작하는 알고리즘은 동일하나, 그 내부 로직을 다르게 구현하는 방법
템플릿 메서드를 정의하는 클래스로 AbstractClass
가 생성되고,
AbstractClass
를 상속받아 구현하는 클래스로 ConcreteClass
를 사용한다.
AbstractClass안에 공통된 로직을 선언하고, 그 안에 내부 구성을 빈껍대기로 채우는 걸 Hook
이라고 한다.
Hook 메서드들은 상속받아 자세한 내용을 구현한다.
→ inHR에서 사용하는 gadget의 개념. (abstract class Gadget, abstract class GadgetVM)
<aside> 📌 객체 생성을 대신 수행해 주는 패턴
</aside>