객체의 '생산'을 위한 패턴객체의 생성에 관련된 설계를 단순화, 객체간의 의존성을 줄이는 목적이 있음구체적인 공장 클래스가 구체적인 클래스 대신 인터페이스나 추상 클래스를 참조하여 특정 구현에 대한 의존성을 제거한다. 새로운 객체 유형이 추가될 때에, 기존 코드를 수정하지 않고도 팩토리를 확장하여 객체를 생성할 수 있다.전통적인 방식, 추상화 메서드 방식 등 여러 가지가 있음(추상 팩토리, 팩토리 메서드 등) 대략적인 구조를 보면 이렇다. IProduct라는 인터페이스는 Product들이 가져야 할 변수나 이름 등을 정의한다이를 바탕으로 프로덕트들을 확장시켜 나갈 수 있다. 팩토리는 추상 메서드로 구현되며 IProduct 타입을 반환한다.이를 통해 구체적인 생성 관련 기능과 책임은 구체적인 공장 클..