Abstract Factory Pattern
비슷한 기능을 하지만 종류가 다른 클래스들을 생성하는 인터페이스 제공 ▷ 첫 번째, 추상 제품 인터페이스(추상클래스도 가능) : 제품에 대한 추상적 인터페이스 제공 ▷ 두 번째, 구현 제품 클래스 : 팩토리가 생성할 구체적인 제품 ▷ 세 번째, 추상 팩토리 인터페이스(추상클래스도 가능) : 추상 제품을 생산하는 인터페이스 제공 ▷ 네 번째, 구현 팩토리 클래스 : 구현된 제품을 생산하는 방법 구현 기타 공장에서 통기타, 일렉기타 등 여러 종류의 기타를 만든다고 했을 때 [추상 제품 인터페이스] // 기타의 몸통을 뜻하는 추상 제품 인터페이스 public interface IBody { ... } // 기타의 현을 뜻하는 추상 제품 인터페이스 public interface IString { ... } 기타..