티스토리 뷰

팩토리 메소드 패턴도 템플릿 메소드 패턴과 마찬가지로 상속을 통해 기능을 확장하게 하는 패턴입니다. 그래서 구조도 비슷합니다. 슈퍼클래스 코드에서는 서브클래스에서 구현할 메소드를 호출해서 필요한 타입의오브젝트를 가져와 사용합니다. 이 메소드는 주로 인터페이스 타입으로 오브젝트를 리턴하므로 서브클래스에서 정확히 어떤 클래스의 오브젝트를 만들어 리턴할지는 슈퍼클래스에서는 알지 못한다. 사실 관심도 없습니다. 서브클래스는 다양한 방법으로 오브젝트를 생성하는 메소드를 재정의할 수 있습니다. 이렇게 서브클래스에서 오브젝트 생성 방법과 클래스를 결정할 수 있도록 미리 정의해둔 메소드를 팩토리 메소드라고 하고, 이 방식을 통해 오브젝트 생성 방법을 나머지 로직, 즉 슈퍼클래스의 기본 코드에서 독립시키는 방법을 팩토리 메소드 패턴이라고 합니다.

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

전략 패턴(Strategy Pattern)  (0) 2017.12.20
템플릿 메소드 패턴  (0) 2017.12.15
디자인패턴  (0) 2017.12.15
댓글