Topic
Factory Method Pattern(팩토리 메서드 패턴)
JackerLab
2026. 6. 12. 07:40
728x90
반응형

개요
Factory Method 패턴은 객체 생성 로직을 캡슐화하여, 실제 생성할 객체의 타입을 서브클래스에서 결정하도록 하는 생성(Creational) 디자인 패턴이다. 객체 생성과 사용을 분리함으로써 코드의 유연성과 확장성을 크게 향상시킨다.
1. 개념 및 정의
팩토리 메서드 패턴은 객체를 생성하는 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할지는 서브클래스가 결정하도록 하는 구조이다. 클라이언트 코드는 구체 클래스에 의존하지 않고 추상 타입에 의존하게 된다.
2. 특징
| 항목 | 설명 | 비고 |
| 생성 책임 분리 | 객체 생성 로직 캡슐화 | 유지보수성 향상 |
| 확장성 | 새로운 클래스 추가 용이 | OCP(Open-Closed Principle) |
| 느슨한 결합 | 구체 클래스 의존 제거 | 유연성 증가 |
한줄 요약: 객체 생성과 사용을 분리하여 확장성과 유연성을 확보한다.
3. 구성 요소
| 구성 요소 | 설명 | 역할 |
| Creator | 팩토리 메서드 선언 | 생성 인터페이스 |
| Concrete Creator | 실제 객체 생성 | 구현 담당 |
| Product | 생성 객체 인터페이스 | 공통 규약 |
| Concrete Product | 실제 생성 객체 | 구체 구현 |
한줄 요약: 생성자 역할과 객체 역할을 분리한 구조이다.
4. 기술 요소
| 기술 | 설명 | 특징 |
| 추상 클래스 | 생성 메서드 정의 | 확장 기반 |
| 인터페이스 | 공통 규약 제공 | 결합도 감소 |
| 다형성 | 런타임 객체 결정 | 유연성 확보 |
한줄 요약: 추상화와 다형성을 기반으로 동작한다.
5. 장점 및 이점
| 장점 | 설명 | 효과 |
| 코드 유연성 | 타입 변경 용이 | 유지보수성 향상 |
| 확장 용이성 | 새로운 제품 추가 쉬움 | 개발 효율 |
| 결합도 감소 | 의존성 최소화 | 안정성 증가 |
한줄 요약: 변경에 강한 구조를 제공한다.
6. 주요 활용 사례 및 고려사항
| 활용 사례 | 설명 | 고려사항 |
| 프레임워크 | 객체 생성 표준화 | 구조 복잡도 증가 |
| UI 컴포넌트 | 플랫폼별 생성 | 추상화 필요 |
| DB 드라이버 | 다양한 DB 지원 | 구현 비용 |
한줄 요약: 확장성은 높지만 설계 복잡성이 증가할 수 있다.
7. 결론
Factory Method 패턴은 객체 생성의 유연성을 극대화하는 대표적인 생성 패턴으로, 변화가 잦은 시스템에서 특히 유용하다. 적절히 활용하면 유지보수성과 확장성을 크게 향상시킬 수 있으며, 대규모 시스템 설계에서 필수적인 패턴으로 자리잡고 있다.
728x90
반응형