← 질문 목록
#214깊이 0
팩토리 메소드 패턴을 언제 사용하는가?
객체 생성 로직을 자식 클래스에서 결정해야 할 때 사용한다. 생성자의 구체적인 클래스 타입을 숨기고 인터페이스로 반환하기 위해서다.
| 기준 | 생성자 호출 | 팩토리 메소드 |
|---|---|---|
| 결합도 | 구체 클래스에 강하게 결합 | 인터페이스에 결합 |
| 확장성 | 새 타입 추가 시 코드 수정 필요 | 자식 클래스에서 확장 가능 |
클라이언트는 팩토리 인터페이스만 알면 된다. 어떤 구체 클래스가 생성되는지 몰라도 기능을 수행할 수 있어 변경에 유연하다.
새 구체 제품이 생기면 Creator를 상속한 클래스를 하나 더 만들어 붙인다. 부르는 쪽 코드는 그대로 둔다. 추상 팩토리와 달리 단일 제품의 생성 책임을 분리하는 데 집중한다.