본문 바로가기
✨ Java/디자인 패턴(Design pattern)

자바(JAVA) - 팩토리 패턴(Factory)

by 환풍 2023. 8. 20.
728x90
반응형

 

팩토리 패턴이란?

객체를 생성하는 인터페이스는 미리 정의하되, 인스턴스를 만들 클래스의 결정은 서브 클래스 쪽에서 내리는 패턴.

즉, 여러 개의 서브클래스를 가진 슈퍼 클래스가 있을 때 인풋에 따라 하나의 자식 클래스의 인스턴스를 리턴해주는 방식

 

1.  인터페이스 정의하기

 

2. 여러 클래스 구현하기

 

3. 쥬스 공장 클래스 생성하기

 

4. 메인 클래스에서 쥬스공장 생성후 찍어보기

 

 

결과창

 

장점

  1.  유연성과 확장성 - 새 제품을 추가, 변경시 기존 코드 수정하지 않아도됨.
  2. 클라이언트 코드 분리
  3. 중복코드 제거 - 객체 생성 코드가 여러 곳에서 중복되지 않도록 한다면, 객체 생성에 불필요한 중복코드 제거

단점

  1. 복잡성 증가 - 이 패턴은 추가적인 클래스를 도입하므로, 코드의 복잡성이 증가할 수 있다.
  2. 추상화 비용
  3. 많은 클래스
728x90
반응형

댓글