편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
3번째 줄: | 3번째 줄: | ||
;팩토리 메소드 패턴, 팩토리 메서드, 팩토리 패턴 | ;팩토리 메소드 패턴, 팩토리 메서드, 팩토리 패턴 | ||
* [[생성 패턴]]의 하나 | * [[생성 패턴]]의 하나 | ||
* 생성 책임을 분리한다. | |||
* 하위클래스에서 인스턴스를 생성하도록 하는 구조 | * 하위클래스에서 인스턴스를 생성하도록 하는 구조 | ||
* 공장에서 제품을 만들어내듯, OO공장 인스턴스가 OO을 만들어내는 구조 | * 공장에서 제품을 만들어내듯, OO공장 인스턴스가 OO을 만들어내는 구조 | ||
* 서브클래스에서 오브젝트 생성 방법과 클래스를 결정하도록 강제하는 구조 | * 서브클래스에서 오브젝트 생성 방법과 클래스를 결정하도록 강제하는 구조 | ||
* 생성할 객체를 결정하기 위해 상속을 사용한다. | * 생성할 객체를 결정하기 위해 상속을 사용한다. | ||
* 추상 단계<ref>interface 또는 abstract class</ref>에서는 생성하려는 객체의 클래스를 정확히 지정하지 않는다. | * 추상 단계<ref>interface 또는 abstract class</ref>에서는 생성하려는 객체의 클래스를 정확히 지정하지 않는다. | ||
14번째 줄: | 12번째 줄: | ||
* 팩토리 메소드 패턴은 [[템플릿 메소드 패턴]]의 특수한 경우이다. | * 팩토리 메소드 패턴은 [[템플릿 메소드 패턴]]의 특수한 경우이다. | ||
[[파일:FactoryMethod.svg|420px]] | [[파일:FactoryMethod.svg|420px]] | ||
==예제 (java)== | ==예제 (java)== |