• 티스토리 홈
  • 프로필사진
    tjdudtn
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
tjdudtn
  • 프로필사진
    tjdudtn
    • 분류 전체보기 (299)
      • JAVA (155)
        • JAVA 수업 메모 (0)
        • JAVA 수업 파일 (0)
        • JAVA 기초문법 (18)
        • JAVA 객체지향 핵심 (25)
        • JAVA 유용한 클래스 (33)
        • JAVA Swing (18)
      • Data Structure( 자료구조 ) (17)
        • 컬렉션 프레임워크 (4)
        • JDBC (8)
      • 기초 개념 및 환경 설정 (17)
        • HTTP 기초 지식 (사전기반지식) (13)
        • 웹 서버와 웹 애플리케이션 서버(WAS)란? (1)
        • WAS와 웹 컨테이너의 역할 (1)
        • 아파치 톰캣 설치하기 (1)
        • 아파치 톰캣 시작과 폴더 구조 확인 (1)
      • 서블릿 기본 개념과 활용 (8)
        • 서블릿이란? (1)
        • 서블릿 Life Cycle 이란? (1)
        • 서블릿 작성, 배포, web.xml 설정의 이해 (1)
        • Get, Post 요청 방식의 이해 (1)
        • 서블릿과 서블릿 컨텍스트란? (1)
        • 서블릿과 데이터베이스 연동 (1)
        • 잠깐! server.xml과 context.xml.. (1)
        • 서블릿 필터와 리스너란 뭘까? (1)
      • JSP 기본 문법과 구조 (9)
        • JSP(Java Server Pages) 란? (1)
        • JSP 라이프사이클 (1)
        • JSP 기초문법 (1)
        • JSP 주석과 지시자 (1)
        • JSP 기본 태그 ( 스크립트릿, 선언, 표현식 .. (1)
        • JSP 지시자 ( Directive ) 간단 정리 (1)
        • JSP 내장 객체란 뭘까? (1)
        • 폼 처리와 요청 방식 (1)
        • 쿠키와 세션 관리 (1)
      • 서블릿과 JSP의 연동 (7)
        • 서블릿과 JSP의 개념과 차이점 (1)
        • 간단한 게시판 만들어 보기 (1)
        • JSP와 MVC 패턴 Todo 프로젝트 (1)
        • 커스텀 태그 ( JSTL ) 라이브러리 사용, (.. (1)
        • JSTL을 활용한 게시판 기능 만들기 (1)
        • JSP 파일 업로드 (1)
        • JSP 프로그래밍 활용 (1)
      • JavaScript (24)
        • JavaScript 게시판 만들기 (9)
      • Spring Boot (34)
        • Bank App 만들기 (deployment) (31)
      • Flutter (8)
      • MySQL (20)
      • 기술 면접 준비 자료 (0)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 템플릿 메서드 패턴
        2024년 09월 15일
        • tjdudtn
        • 작성자
        • 2024.09.15.:43
        추상 메서드나 구현 된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 패턴을 말한다.
         
         
         
         
         
        ALT
         
        ​
        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일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바