-
객체 생성을 위한 인터페이스를 정의, 생성할 인스턴스의 클래스는 파생클래스에서 결정하도록 하는 패턴.
팩토리 메소드는 객체 생성을 처리하며, 파생 클래스가 어떤 클래스를 만들 지 결정하게 함으로써 객체 생성 작업을 캡슐화한다. 기반클래스에 있는 클라이언트 코드와 파생클래스에 있는 객체 생성 코드를 분리하는 것.
ConcreteACreator, ConcreteBCreator 이 같은 Creator 클래스를 상속한다. 따라서 두 클래스 모두에서 FactorMethod() 를 사용해 서로 다른 A와 B 인스턴스를 생성할 수 있다.