- 템플릿 메서드 패턴2024년 09월 15일
- tjdudtn
- 작성자
- 2024.09.15.:43
추상 메서드나 구현 된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 패턴을 말한다.package useful.ch04; public abstract class Car { void startCart() { System.out.println("시동을 켭니다"); } abstract void drive(); abstract void stop(); void turnOff() { System.out.println("시동을 끈다"); } // 템플릿 메서드 패턴에 핵심 !! // 메서드 앞에 final 키워드를 사용하다면 : 하위 클래스에서 재정의 할 수 없다. final void run() { // 실행에 흐름 만들어 보기 startCart(); drive(); stop(); turnOff(); } }
package useful.ch04; public class AICar extends Car { @Override void drive() { System.out.println("AI car 자율주행을 합니다."); System.out.println("스스로 방향을 바꿉니다"); } @Override void stop() { System.out.println("자동으로 자동차를 멈춥니다"); System.out.println("위험을 감지해서 급제동을 합니다"); } }
package useful.ch04; public class ManualCar extends Car { @Override void drive() { System.out.println("사람이 운전을 합니다"); } @Override void stop() { System.out.println("브레이크를 밟아서 정지를 합니다"); } }
'JAVA > JAVA 유용한 클래스' 카테고리의 다른 글
싱글톤 패턴 (0) 2024.09.15 람다식(Lambda expression) (0) 2024.09.15 래퍼 클래스 (0) 2024.09.15 JSON 파싱 연습 2단계 (0) 2024.09.15 파싱이란 뭘까?( JSON 파싱 ) (1) 2024.09.15 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)