
팩토리 메서드 패턴은 각각 다른 객체들이 필요할 때 사용추상 팩토리 패턴은 서로 연관 있는 객체들의 조합이 필요할 때 사용
공통점
둘 다 추상화, 캡슐화를 통해 팩토리를 만든다는 점
차이점
추상 팩토리 패턴이 연관되어있는 로직끼리 조금 더 세밀하게 추상화시킨다는 점.
팩토리 메서드 패턴이 조건에 따라 객체 생성을 팩토리 클래스로 위임하여, 팩토리 클래스에서 객체를 생성하는 패턴이었다면추상 팩토리 패턴은 서로 관련이 있는 객체들을 묶어서 팩토리 클래스로 만들고, 해당 팩토리를 조건에 따라 생성하게 되는 새로운 팩토리를 만들어 객체를 생성한다.
![]()
- 팩토리 메서드 패턴은 클라이언트가 특정 객체의 생성을 직접 생성하지 않고 팩토리 역할을 하는 객체에 위임하는 패턴이다.
- 팩토리는 인터페이스로 추상화되어 구체 팩토리의 변경을 유연하게 한다.
- 구체 팩토리는 추상화된 객체를 생성한다. 이는 클라이언트와의 결합을 낮추고, 생성 객체의 확장성과 변경 용이를 보장한다.
- 클라이언트는 결과적으로 어떤 객체가 생성될 것인지 알 필요가 없는 것이 특징.
![]()
- 추상 팩토리 패턴은 특정 그룹에 속하는 여러 객체들을 하나의 팩토리로 묶어서 생성할 수 있는 패턴.
- 추상화된 팩토리를 이용하여 특정 그룹의 요소 객체들을 생성할 수 있는 메서드를 정의한다.
- 추상화 팩토리를 구현한 구체 클래스는, 구체 클래스의 특성에 따라 구체화된 요소 객체들을 반환하도록 구현한다.
- 팩토리와 요소 객체들을 추상화하여 클라이언트와의 결합을 느슨하게 한다.
위 흑인 조나단 닮았네요ㅋㅋ. 딱 제가 공부하다가 지은 표정 변화에요 ㅎㅎ. 오 팩토리 패턴 좋은데? 하다가 ... (대충 멍청한 표정이 되어가는 중)