TIL
23.01.06 TIL 템플릿 메서드 디자인 패턴
YunH2
2023. 1. 6. 23:37
오늘 한 일
- 백준 3문제 풀기 ->
2문제 풀기 자바 강의듣기spring 강의 2개듣기
공부하면서 궁금한 점
템플릿 메서드 디자인 패턴
abstract 메서드와 하위 클래스에서 재정의 할수 없게 만드는 final 메서드가 핵심이다.
final을 꼭 사용하지 않아도 된다.
public abstract class AbstractDisplay {
public abstract void open();
public abstract void print();
public abstract void close();
// Template method - 알고리즘 구조(처리과정)
public final void display() {
open();
for(int i=0; i<5; i++){
print();
}
close();
System.out.println();
}
}
final메서드로 순서(과정)만 정해 놓고
abstract메서드로 하위 클래스에서 재정의해 사용한다
public class CharDisplay extends AbstractDisplay {
private char ch;
public CharDisplay(char ch) {
this.ch = ch;
}
@Override
public void open() {
System.out.print("<<");
}
@Override
public void print() {
System.out.print(ch);
}
@Override
public void close() {
System.out.print(">>");
}
public static void main(String args[]) {
CharDisplay ch = new CharDisplay('@');
ch.display();
}
}
템플릿 메서드를 사용하면 쓸대없는 코드를 줄일 수 있고
좀더 객체지향적으로 구성 할 수 있다는 장점이 있다.
내일 할 일
- 백준 2문제 풀기
- spring 강의 듣기