티스토리 뷰

상속을 통해 슈퍼클래스의 기능을 확장할 때 사용하는 가장 대표적인 방법이다. 변하지 않는 기능은 슈퍼클래스에 만들어두고 자주 변경되며 확장할 기능은 서브클래스에서 만들도록 한다. 슈퍼클래스에서는 미리 추상 메소드 또는 오버라이드 가능한 메소드를 정의해주고 이를 활용해 코드의 기본 알고리즘을 담고 있는 템플릿 메소드를 만든다. 슈퍼클래스에서 디폴트 기능을 정의해두거나 비워뒀다가 서브클래스에서 선택적으로 오버라이드할 수 있도록 만들어둔 메소드를 훅(hook) 메소드라고 한다. 서브클래스에서는 추상 메소드를 구현하거나, 훅 메소드를 오버라이드하는 방법을 이용해 기능의 일부를 확장한다.

 

템플릿메소드 - 기본 알고리즘 골격을 담은 메소드를 템플릿 메소드라 부른다. 템플릿 메소드는 서브클래스에서 오버라이드 하거나 구현할 메소드를 사용한다.

 

훅 메소드 - 선택적으로 오버라이드 가능하다.

 

추상 메소드 - 서브클래스에서 반드시 구현해야 하는 추상 메소드.

'Programming > design pattern' 카테고리의 다른 글

전략 패턴(Strategy Pattern)  (0) 2017.12.20
팩토리 메소드 패턴  (0) 2017.12.15
디자인패턴  (0) 2017.12.15
댓글