짧은 정리 :::
abstract superClass(
static void factoryMethod();
protected static void templateMethod(){
system.out.println("실행")
}
)
추상 클래스를 상속받았을 때... 시작이 추상메소드면 팩토리 메소드 패턴 시작이 default 메소드면 템플릿 메소드 패턴. 이라고 부르는듯... 이 defaut 메소드는 템플릿 메소드라고 부른다. * 추상 메소드는 하위클래스를 위한 교약(protocol)의 일부를 정의하기 위해 사용 (추상 <--> 구상) |
디자인 패턴 : 소프트웨어 설계시 특정 상황에서 자주 만나는 문제를 해결하기 위해 사용할 수 있는 재사용 가능한 솔루션
GoF의 디자인 페턴 에릭감마, Head First Design Patterns 에릭 프리먼 추천
템플릿 메소드 패턴.
: 상속을 통해 슈퍼 클래스의 기능을 확장할 떄 사용하는 가장 대표적인 방법
: 슈퍼클래스에서 디폴트 기능을 저으이해 두거나 비워뒀다가 서브클래스에서 선택적ㅇ로 오버라이드 할 수 있도록 만들어둔 메소드. 훅(Hook) 메소드라고 한다.
: 서브클래스에서는 추상메소드를 구현하거나 훅 메소드를 오버라이드 하는 방법을 이용해 기능의 일부를 확장한다.
* 기본 알고리즘 골격을 담은 메소드를 템플릿 메소드라고 브른
팩토리 메소드 패턴
: 이 메소드는 주로 인터페이스 타입으로 오브젝트를 리턴, 정확히 어떤 클래스의 오브젝트를 만들어 리턴할지 슈퍼클래스는 모름. 슈퍼클래스의 기본 코드에서 독립시키는 방법.
출처 : 토비의 스프링
'For Real > Java & Spring' 카테고리의 다른 글
이클립스 공백 문자 보이기 설정 (0) | 2018.06.18 |
---|---|
[SQL] (0) | 2018.06.14 |
[인프런] 신입SW 인력을 위한 실전 자바 스프링 동영상 과정 1~2 (0) | 2018.05.24 |
java.net.BindException: Address already in use: JVM_Bind <null> (0) | 2018.04.05 |
[성장공간 1분 자바 by Dori] 1주차 문제?! (0) | 2018.03.21 |