Template Method 패턴

방세현·2023년 4월 21일
0

디자인패턴

목록 보기
2/9

Template Method패턴

Template Method패턴은 상위 클래스의에서 처리의 뼈대를 결정하고 하위 클래스에서 그 구체적 내용을 결정하는 디자인 패턴이다.

즉, 상위 클래스는 abstract메서드를 생성해놓고, templateMethod로 abstract method를 이용한 로직을 구현해놓고 하위클래스에서 abstract에 해당하는 concrete클래스만 작성하는 패턴이다.

위 패턴을 이용하면 templateMethod를 수정해야 할때, 부모 클래스에서만 구현되어 있어 편리하다는 장점이 있다. 또한

리스코프 치환 원칙

리스코프 치환 원칙은 부모 객체와 이를 상속한 자식 객체가 있을 때 부모 객체를 호출하는 동작에서 자식 객체가 부모 객체를 완전히 대체할 수 있다는 원칙이다.

즉, 부모 클래스 타입의 객체를 자식 클래스 타입의 객체로 바꿔도 정상적으로 동작해야 한다는 것이다.

Parent p = new Child();
Child d = new Child();
//p와d의 기능은 같아야함

만약 AbstractClass를 인터페이스로 구현하고 싶다면 templateMethod를 default메서드로 구현하면 가능하다.

코드: https://github.com/lawijdo201/Design-Pattern
출처: Java 언어로 배우는 디자인 패턴 입문

0개의 댓글