요약
- 템플릿 메소드 패턴
- 자바 API 속 템플릿 메소드 패턴 알아보기
- 템플릿 메소드로 정렬하는 방법
- 오리 정렬하기
- 템플릿 메소드로 그래픽 출력하기
메모
자바 API 속 템플릿 메소드 패턴 알아보기
- 야생에서도 이 패턴은 쉽게 발견할 수 있음.
- 패턴 교과서의 예시와 다른 모양으로 구현한 템플릿 메소드도 많음.
- 주의 깊게 살펴보면 템플릿 메소드임을 알 수 있음.
- 이 패턴이 자주 쓰이는 이유는 프레임워크를 만드는 데 아주 훌륭한 디자인 도구이기 때문임.
템플릿 메소드로 정렬하는 방법
- 자바의 Arrays 클래스에는 정렬할 때 쓸 수 있는 편리한 템플릿 메소드가 포함되어 있음.
- mergeSort 메소드에 정렬 알고리즘이 들어있음
- compareTo() 메소드에 의해 결과가 결정됨.
- 이게 템플릿 메소드임.
오리 정렬하기
- sort() 메소드는 서브 클래스를 만들지않고, 정적 메소드로 만듦.
- sort() 자체가 특정 슈퍼클래스에 정의되어 있는 게 아니므로 sort() 메소드가 compareTo() 메소드를 구현했는지 알아야 함.
- Comparable 인터페이스를 통해, compareTo() 메소드 하나만 구현하면 됨.
오리 대소 비교
- 오리를 정렬하기 위해 compareTo()를 구현해야 함.
템플릿 메소드로 그래픽 출력하기
- 야생의 템플릿 메소드로, JFrame 이 있음.
- 가장 기본적인 스윙 컨테이너, paint() 메소드를 상속받는 컨테이너임.
- paint() 를 오버라이드하면 특정 화면 영역에 특정 내용을 표시하는 JFrame 알고리즘에 사용자가 원하는 그래픽을 추가할 수 있음.
댓글