'디자인 패턴이란'에 해당되는 글 1건

1. Factory  패턴 이란


아주 중요한 패턴중에 하나 입니다. Factory 패턴은 creational pattern  에 속하는 패턴입니다.

Factory 패턴은 객체생성로직 없이 객체를 만들어 내는 패턴입니다.. 인터페이스를 통해 만들어진 객체를 참조 하죠.


쉽게 설명해드리겠습니다.  factory 는 한국어로 공장이란 뜻이죠.  즉 객체를 만들어내는 공장 입니다.  

객체 선언은 보통 new 객체() 이런식으로 하죠. factory는 내부에서 그런 일을 해줍니다. 즉 factory를 가져다가 쓰는 부분에서는 new 객체()와 같은 식으로 변수를 선언할 필요가 없습니다. Abstract class나 인터페이스에 대해서 다양한 하위 구현체가 있을 경우에 사용하면 좋습니다. 사용법은 Factory.create(인자는 맘대로) 와 같이 됩니다. 


실무에서 자주 쓰이는 패턴중 하나이니 아래와 같이 천천히 따라해보도록 하죠.


2. 따라하기


// animal 인터페이스를 만듭니다. 기본이 되는 interface 죠. 모든 디자인 패턴은 interface 를 사용한다 해도 과언이 아닙니다.


// Cat 클래스를 만듭니다.


// Cow 클래스를 만듭니다.


// Dog 클래스를 만듭니다.


// animal 을 만들어내는  AnimalFactory 클래스를 만든다. 

//( 이 class 가 핵심 입니다. factory 패턴을 구현한곳이죠. 이해하기 힘드시다면 이 class 만 30번 보시면 이해가 되실겁니다.)


// 자 테스트를 한번 해볼까요.

 

//결과


3. Factory 의 이해 

위의 결과와 같이 Animal interface 를 이용해서 각자 다른 소리를 내는 3개의 클래스를 만들어 봤습니다.

AnimalFactory 클래스에서는 각 동물들의 이름을 받아서 클래스를 만들어 냈습니다. 즉 팩토리 패턴을 구현해 놓은 클래스 입니다.


테스트를 실행하는 main 클래스 안에는 new 라는 구문 자체가 없습니다 팩토리 패턴은. 정확히 어떤 클래스의 인스턴스인지 신경쓰지 않고 구현할 수 있는 장점이 있습니다. 객체 타입이 굉장히 유연해 질 수 있죠.


이것으로 아주 쉽게 배우는 factory 패턴을 마치고자 합니다. 



블로그 이미지

낭만가을

,