배경지식 Interface 객체의 인터페이스는 객체의 operation으로 이루어져있다. 인터페이스는 객체의 operation에 의해 정의된 모든 시그니처의 모음이고, 객체가 응답할 수 있는 모든 요청을 설명한다. Implementation / Encapsulation 깔끔하게 interface와 implementation을 분리하려면 impleme...
Abstract Factory 추상 팩토리, Kit 이라고도 불린다. 사용 의도 상세화된 서브클래스를 정의하지 않고도 서로 관련성이 있거나 독립적인 여러 객체의 군을 생성하기 위한 인터페이스를 제공한다. 사용 동기 응용 프로그램이 서로 다른 모습인 것과 상관 없이 이식성을 갖기 위해서는 응용 프로그램이 각 사용자 인터페이스에서 제공하는 위젯을 직접 사용...
Builder 빌더, 생성 패턴 중 하나 사용 의도 복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리해서 서로 다른 표현이라도 생성할 수 있는 동일한 절차를 제공할 수 있도록 한다. 복잡한 객체를 단계별로 구성할 수 있도록 한다. 구체적 예시 문제 상황 복잡하게 많은 것을 요구하는 객체를 생각해보면, 이 객체를 만들어낼 때는...
Factory Method 생성 패턴의 한 종류, 가상 생성자 (Virtual Constructor)라고도 한다. 사용 의도 객체를 생성하기 위해 인터페이스를 정의하지만, 어떤 클래스의 인터페이스를 생성할지에 대한 결정은 서브클래스가 내리도록 한다. (어떤 타입의 객체가 생성 될지를 서브클래스가 결정함) 구체적 상황 문제 상황 물류 관리 앱을 만들고...