
템플릿 메서드 패턴이란,
기능의 뼈대와 구현을 분리하는 행위 디자인 패턴이라고 한다.
예상하는 거론 부모 클래스에서 상속 받아 자식 클래스 내부에서 직접 구현을 해서 사용하는 거를 말하는 게 아닐까 생각한다.
"템플릿 메서드 패턴은 실행 단계의 절차를 결정하는 상위 클래스와 실행 단계를 구현하는 하위 클래스로 구성됩니다." -> 맞는 것 같다.
public abstract class Student {
public abstract void study();
public abstract void watchYoutube();
public abstract void sleep();
// 템플릿 메서드
final public void doDailyRoutine() {
study();
watchYoutube();
sleep();
}
}
class BackendStuduent extends Student {
@Override
public void study() {
System.out.println("영한님 JPA 강의를 수강합니다.");
}
@Override
public void watchYoutube() {
System.out.println("개발바닥 유튜브를 시청합니다.");
}
@Override
public void sleep() {
System.out.println("7시간 잠을 잡니다.");
}
}
공통 로직을 상위 클래스에 모아 중복 코드를 줄일 수 있음.
코드 재사용성을 높일 수 있는 장점이 있음
상위 클래스 수정이 발생하는 경우 모든 하위 클래스를 변경해야 하는 단점이 존재함.
| [매일메일] 어떤 이유로 코루틴을 사용한 작업 처리가 기존 스레드 방식보다 가벼운 지 설명해주세요 (0) | 2025.09.03 |
|---|---|
| [매일메일] NoSQL 데이터베이스의 유형에는 어떤 것들이 있나요? (0) | 2025.08.20 |
| [매일메일] PRG 패턴에 대해서 설명해 주세요 (1) | 2025.07.29 |
| [매일메일] 멀티 쓰레딩에 대해서 설명해주세요 (0) | 2025.07.28 |
| [매일메일] 낙관적 락과 비관적 락에 대해 설명해 주세요. (0) | 2025.07.24 |