템플릿 메서드 패턴


템플릿 메서드 패턴

템플릿 메서드 패턴 상속을 통해 슈퍼 클래스의 기능을 확장할 때 사용하는 방법 변하지 않는 기능은 슈퍼 클래스에 만들어둔다. 자주 변경되고 확장할 기능은 서브 클래스에서 만든다. 슈퍼클래스에서는 미리 추상 메서드 또는 Override 가능한 메서드를 정의해두고 이를 활용해서 코드의 기본 알고리즘을 담고 있는 템플릿 메서드를 만든다. 슈퍼클래스에서 디폴트 기능을 정의해두거나 비워뒀다가 서브 클래스에서 선택적으로 오버라이드 할 수 있도록 만들어둔 메서드를 Hook 메서드라고 한다. 서브 클래스에서는 추상 메서드를 구현하거나, 훅 메서드를 오버라이드 하는 방법을 이용해 일부 확장한다. 먼저 SuperClass는 abstract class로 만든다. superMethod는 변하지 않는 기능이기에 super Class에서 구현해 준다. hookMethod는 기본 메서드로 구현을 한다. 이걸 SubClass가 다시 오버라이드 해서 재사용하면 된다. 또한 abstractMethod를 구현해서 S...


#hookMethod #디자인패턴 #상속 #추상클래스 #템플릿메서드 #템플릿메서드패턴

원문링크 : 템플릿 메서드 패턴