728x90

짧은 정리 :::

abstract superClass(

static  void  factoryMethod();

protected static void templateMethod(){

system.out.println("실행")

}

)

 추상 클래스를 상속받았을 때... 시작이 추상메소드면 팩토리 메소드 패턴

                            시작이 default 메소드면 템플릿 메소드 패턴. 이라고 부르는듯... 이 defaut 메소드는 템플릿 메소드라고 부른다.

* 추상 메소드는 하위클래스를 위한 교약(protocol)의 일부를 정의하기 위해 사용 (추상 <--> 구상)


  




디자인 패턴 : 소프트웨어 설계시 특정 상황에서 자주 만나는 문제를 해결하기 위해 사용할 수 있는 재사용 가능한 솔루션

               GoF의 디자인 페턴 에릭감마, Head First Design Patterns 에릭 프리먼 추천 


템플릿 메소드 패턴. 

: 상속을 통해 슈퍼 클래스의 기능을 확장할 떄 사용하는 가장 대표적인 방법

 : 슈퍼클래스에서 디폴트 기능을 저으이해 두거나 비워뒀다가 서브클래스에서 선택적ㅇ로 오버라이드 할 수 있도록 만들어둔 메소드.   훅(Hook) 메소드라고 한다. 

: 서브클래스에서는 추상메소드를 구현하거나 훅 메소드를 오버라이드 하는 방법을 이용해 기능의 일부를 확장한다. 

* 기본 알고리즘 골격을 담은 메소드를 템플릿 메소드라고 브른


팩토리 메소드 패턴

:  이 메소드는 주로 인터페이스 타입으로 오브젝트를 리턴, 정확히 어떤 클래스의 오브젝트를 만들어 리턴할지 슈퍼클래스는 모름. 슈퍼클래스의 기본 코드에서 독립시키는 방법. 



출처 : 토비의 스프링 

+ Recent posts