티스토리 뷰
Goal
- 템플릿 메서드에 대해 알아본다.
- 훅 메서드와 final 예약어에 대해 알아본다.
1. 템플릿 메서드
- 템플릿 : 틀이나 견본을 의미
- 추상 메서드나 구현된 메서드를 활용하여 전체의 흐름(시나리오)를 정의 해 놓은 메서드
- 로직을 구현한 메서드는 final로 선언하여 재정의 할 수 없게 함
- 템플릿 메서드 패턴은 디자인 패턴의 일종으로 프레임 워크에서 많이 사용되는 설계 패턴임
- 추상 클래스로 선언된 상위 클래스에서 추상 메서드를 이용하여 전체 구현의 흐름을 정의하고 구체적인 각 메서드 구현은 하위 클래스에 위임함
- 하위 클래스가 다른 구현을 했다고 해도 템플릿 메서드에 정의된 시나리오(로직) 대로 수행됨.
1-1 훅 메서드
- 하위 클래스가 재정의를 해야 기능을 하는 메서드. 상위 클래스에서는 body의 내용 없이 메서드의 선언만 해놓은 상태로, 사용하고자하는 하위 클래스에서 오버라이딩을 통해 기능을 재정의 하고 사용한다.
-훅 메서드를 abstract로 선언하면, 전체 하위 클래스에서 사용해야 하는 추상 메서드가 된다.
1-2 final 예약어
- final 변수는 값이 변경될 수 없는 상수임
- public static final double PI = 3.14; 주로 외부에서 정적으로 사용되는 경우가 많기 때문에 static과 주로 쓰이며, 오직 한 번만 값을 할당할 수 있음.
- final 메서드는 하위 클래스에서 재정의 (overriding) 할 수 없음
- final 클래스는 더 이상 상속되지 않음. ex) Java의 String 클래스
- 프로젝트 구현 시 여러 파일에서 공유해야 하는 상수 값을 하나의 파일에 선언하여 사용하면 편리 함.
2. 템플릿 메서드 실습
'Java > Java 올인원 패키지' 카테고리의 다른 글
20. Object 클래스 (Java) (0) | 2020.03.18 |
---|---|
19. 인터페이스 (Java) (0) | 2020.03.18 |
17. 추상 클래스, 템플릿 메서드 (Java) (0) | 2020.03.17 |
16. 다운캐스팅과 instanceof (Java) (0) | 2020.03.17 |
14. 메서드 오버라이딩 (Java) (0) | 2020.03.17 |
- 20200512
- 20200420
- 20200424
- 20200415
- 20200428
- 20200417
- 20200413
- 20200502
- 20200423
- 20200804
- 생활코딩리눅스
- 20200330
- 20201204
- 20200510
- 20200406
- 20200624
- 20200503
- 20200319
- 20200425
- 20200421
- 20200429
- 백준
- likelion
- 20200403
- chapter8
- 20200317
- 20200427
- 20200504
- 20200622
- chapter7
- Total
- Today
- Yesterday