Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-15.log failed
文書の過去の版を表示しています。
Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-15.log failed
the Definition of Factory Method Pattern
팩토리 메소드 패턴의 정의는 다음과 같습니다.
팩토리 메소드 패턴 - 팩토리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브 클래스에서 결정하게 만듭니다. 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것이죠.
다른 모든 팩토리를 쓸 때와 마찬가지로 팩토리 메소드 패턴을 사용하여 구상 형식의 인스턴스를 만드는 작업을 캡슐화 할 수 있습니다.
밑에 있는 클래스 다이어 그램을 보면, Creator 추상 클래스에서 객체를 만들기 위한 메소드, 즉 팩토리 메소드를 위한 인터페이스를
제공한다는 것을 알 수 있습니다.
Creator 추상 클래스에 구현되어 있는 다른 메소드에서는 팩토리 메소드에 의해 생산된 제품을 가지고 필요한 작업을 처리합니다.
하지만 실제 팩토리 메소드를 구현하고 제품(객체 인스턴스)를 만들어내는 일은 서브클래스에서만 할 수
있습니다.
위에 있는 정의에도 나와 있지만, 다른 개발자들이 “팩토리 메소드 패턴에서는 어떤 클래스의 인스턴스를 만들지를 서브 클래스에서 결정한다”라고 하는 얘기를 종종 듣게 될 것입니다.
여기에서 “결정한다”라는 표현을 쓰는 이유는, 이 패턴을 사용할 때 서브클래스에서 실행중에 어떤 클래스의 인스턴스를 만들지를 결정하기 때문이 아니라, 생산자 클래스 자체가 실제 생산될 제품에 대한 사전지식이 전혀 없이 만들어지기 때문입니다.
사실 더 정확하게 표현하자면, 사용하는 서브 클래스에 따라 생산되는 객체 인스턴스가 결정될 것입니다.