delpho
[Java] 팩토리 메서드 패턴에 대해서 설명해주세요. 본문
_1.
[ 팩토리 패턴 (Factory Pattern) ]
- 객체 생성 처리를 서브 클래스로 분리 해 처리하도록 캡슐화하는 패턴
- 객체의 생성 코드를 별도의 클래스/메서드로 분리함으로써 객체 생성의 변화에 대비하는 데 유용하다.
- 팩토리 메소드 패턴, 추성 팩토리 패턴이 있다.
_2.
그럼 팩토리 메소드 패턴과 추상 팩토리 패턴의 차이는 뭔데?

_3.
[ 팩토리 메서드 패턴 (Factory Method Pattern) ]
- 부모(상위) 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며. 자식(하위) 클래스가 어떤 객체를 생성할지를 결정하도록 하는 패턴
_4.
[ 사용 이유 ]
객체를 생성하기 위해 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 서브클래스에서 이루어지도록 하여 재정의 가능한 것으로 설계 하지만, 복잡해지지 않게 한다.
- 생성할 객체 타입을 예측할 수 없을 때
- 생성할 객체를 기술하는 책임을 서브클래스에게 정의하고자 할 때
- 객체 생성의 책임을 서브클래스에 위임시키고 서브클래스에 대한 정보를 은닉하고자 할 때
_5.
[ 장점 ]
- Creator와 Product 간의 결합이 느슨
- 코드 간결
- 병렬적 클래스 계층도를 연결하는 역할을 담당
[ 단점 ]
- 클래스가 많아진다
- 클라이언트가 creator 클래스를 반드시 상속해 Product를 생성해야한다
_6.
팩토리 메소드 패턴을 사용하는 이유는 클래스간의 결합도를 낮추기 위한 것 같다.
결합도라는 것은 간단히 말해 클래스의 변경할 부분이 생겼을 때 얼마나 다른 클래스에도 영향을 주는가이다. 팩토리 메소드 패턴을 사용하는 경우 직접 객체를 생성해 사용하는 것을 방지하고 서브 클래스에 위임함으로써 보다 효율적인 코드 제어를 할 수 있고 의존성을 제거한다. 결과적으로 결합도 또한 낮출 수 있다.
출처
https://gmlwjd9405.github.io/2018/08/07/factory-method-pattern.html
[Design Pattern] 팩토리 메서드 패턴이란 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
https://dev-youngjun.tistory.com/195
팩토리 메소드 패턴(Factory Method Pattern)
1. 팩토리 메소드 패턴이란? 다양한 구현체 (Product)가 있고, 그 중에서 특정한 구현체를 만들 수 있는 다양한 팩토리(Creator)를 제공할 수 있다. 1-1. 정의(Definition) 1-1-1. 팩토리 패턴? 객체의 생성
dev-youngjun.tistory.com
'CS > Java' 카테고리의 다른 글
[Java] 빌더 패턴에 대해서 설명해주세요. (0) | 2022.09.07 |
---|---|
[Java] 싱글톤 패턴에 대해서 설명해주세요. (0) | 2022.09.04 |