Template Method Pattern

<aside> 📌 로직의 기본 흐름을 정의하는 패턴 코드의 중심인 AbstractClass와 그 구현체인 ConcreteClass로 구성된다.

</aside>

기본적으로 동작하는 알고리즘은 동일하나, 그 내부 로직을 다르게 구현하는 방법

템플릿 메서드를 정의하는 클래스로 AbstractClass가 생성되고,

AbstractClass를 상속받아 구현하는 클래스로 ConcreteClass를 사용한다.

AbstractClass안에 공통된 로직을 선언하고, 그 안에 내부 구성을 빈껍대기로 채우는 걸 Hook이라고 한다.

Hook 메서드들은 상속받아 자세한 내용을 구현한다.

→ inHR에서 사용하는 gadget의 개념. (abstract class Gadget, abstract class GadgetVM)

장점

단점

Factory Method Pattern

<aside> 📌 객체 생성을 대신 수행해 주는 패턴

</aside>