<aside>
💡 목차
</aside>
- 객체 지향 프로그래밍에서 자주 사용되는 디자인 패턴 중 하나
- 객체의 생성을 캡슐화하여 클라이언트 코드가 생성되는 객체의 구체적인 타입에 의존하지 않도록 하는 것
- 코드의 유연성을 높이고, 변경에 대한 영향을 최소화 가능
1. 팩토리 패턴의 주요 구성 요소
1-1) Product
- 생성될 객체들의 공통 인터페이스
- 팩토리는 이 인터페이스를 구현하는 다양한 객체들을 생성 가능
1-2) ConcreteProduct
- Product 인터페이스를 구현하는 구체적인 클래스들
1-3) Creator
- Product 객체를 생성하는 메서드(factoryMethod)를 선언하는 인터페이스
1-4) ConcreteCreator
- Creator 인터페이스를 구현하며, factoryMethod를 오버라이딩하여 ConcreteProduct 인스턴스를 생성
2. 팩토리 패턴의 장점