본문 바로가기
Architecture/Design Pattern

[디자인 패턴] 팩토리 메소드 패턴

by Jman 2022. 12. 1.

개념

팩토리 메소드는 말 그대로 공장을 뜻한다. 객체를 생성하는 공장을 만듬으로 써,

어떤 객체를 만드는 지는 자식 클래스 결정하게 하는 디자인 패턴이다.

다시 말하자면,

팩토리 메소드 패턴은 객체를 생성하기 위해 필요한 인터페이스를 만든 후,

인터페이스를 구현하는 클래스에서 어떤 객체를 만들지 결정하는 패턴인다.

 

어떤 때에 사용하게 되나?

객체 간의 결합도를 낮추고, 유지보수를 용이하게 하기 위해서이다.

ex. 테스트 코드를 작성할 때 힘든 경우가 있다. 그럴 경우, 팩토리 메소드 패턴을 이용해서 프로덕트 코드를 작성하면 결합도가 낮아져 테스트 코드를 작성하기 용이하다.

 

어떤 식으로 동작하나?

객체만 생성하는 공장을 통해서 간접적으로 객체를 생성하게 하며

인터페이스를 정의하되, 실제 구현 내용은 자식클래스에서 구현이 되므로

세부 구현 코드를 몰라도 부모클래스에서 자유롭게 사용이 가능하다.

 

코드로 이해하기 위해선, 다양한 블로그가 많다. 알아서 한 번 찾아보자.

https://kotlinworld.com/365

 

[Kotlin Factory Pattern] 팩토리 패턴이란 무엇인가?

팩토리 패턴에 대한 오해 많은 사람들이 팩토리 패턴을 객체 생성을 위한 클래스를 사용하는 것으로 알고 있다. 실제로 많은 글들을 보면 팩토리 패턴을 공장에 input을 넣으면면 결과물이 나오

kotlinworld.com

 

 

 

팩토리 패턴은 필요한 객체를 만들기 위한 interface 를 선언해서 유연하게 구현해서 사용할 수 있도록 하는 패턴이다.