책 [JAVA 언어로 배우는 디자인 패턴 입문 3판;유키 히로시 저]을 참고하여 작성하였습니다.
추상 클래스
- 템플릿 메서드에서 추상 메서드 사용
- 이 추상 메서드를 구현부에서 구현
- 상위 클래스에서는 처리의 뼈대(알고리즘)를 결정
- 구체적인 처리 내용은 하위 클래스까지 가야 결정되지만, 추상 클래스 단계에서 처리 흐름을 형성할 수 있다.
구현 클래스
- 하위 클래스에서 그 구체적 내용을 결정
메인부
- 로직을 공통화할 수 있다 ... 공통된 알고리즘, 유지보수 관점
- 상위 클래스와 하위 클래스의 연계 플레이 ... 상위 클래스의 소스 프로그램 없이 하위 클래스의 구현이 어려울 수 있다
- 하위 클래스를 상위 클래스와 동일시한다
- 상위 클래스형 변수에 하위 클래스의 인스턴스 중 어느 것을 대입해도 제대로 동작할 수 있게 하는 원칙(LSP)
cf. Strategy 패턴에서는 프로그램 일부를 변경하기보다는 알고리즘 전체를 모두 전환한다
'문제 및 이론 정리 > 디자인패턴' 카테고리의 다른 글
[디자인패턴] Decorator - 장식틀과 내용물을 동일시한다 (0) | 2025.02.21 |
---|---|
[디자인패턴] Visitor - 데이터 구조를 돌아다니면서 처리한다 (0) | 2025.02.18 |
[디자인패턴] Iterator - 처리를 반복한다 (1) | 2025.02.18 |
[디자인패턴] Bridge - 기능 계층과 구현 계층을 분리한다 (2) | 2025.02.04 |
[디자인패턴] Strategy - 스위치를 전환하듯 알고리즘을 바꾼다 (0) | 2025.02.03 |