디자인 패턴
-
[기술 면접 공부] Factory Pattern (팩토리 패턴)기술 면접 공부 2021. 1. 7. 11:47
정의 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 파생 클래스에서 결정 장점 객체의 생성을 한 군데에서 관리할 수 있다. 동일한 인터페이스를 준수하는 클래스들을 생성하기 때문에 외부 코드 수정이 거의 없다. 구조 Product Creator Product Creator Concrete ConcreteProduct ConcreteCreator Product : 팩토리 메서드로 생성될 공용 객체. 주로 추상 클래스이거나 인터페이스 ConcreteProduct : Product를 상속받는 구체적인 객체 Creator : Product를 구현하는 메서드가 존재. 주로 추상 클래스이거나 인터페이스 ConcreteCreator : Creator를 상속받아서 각각의 Concrete..
-
[기술 면접 공부] 싱글톤 패턴기술 면접 공부 2021. 1. 6. 23:51
싱글톤 (singleton) 정의 해당 클래스의 인스턴스가 하나만 생성이 되는 것을 보장하며 어디서든지 그 인스턴스에 접근이 가능하도록 만드는 패턴 생성 및 사용법 클래스에 instance라는 private한 멤버 변수를 선언, 생성자를 private하게 외부에 노출이 되지 않도록 선언한다. static으로 전역에서 접근이 가능한 메서드를 생성해 instance를 반환한다. 사용 목적 및 용도 시스템에서 전역으로 관리되고 단 하나의 클래스에서만 정보가 유지되는 것을 원할 때 사용한다. 주로 시스템 자원이나 정보를 관리하는 용도로 사용한다. 장점 모든 데이터를 전역으로 관리할 수 있기 때문에 쉽게 접근 가능하다. 중복 생성 및 메모리 낭비를 방지할 수 있다. 단점 정적 메모리에 할당된 객체이므로 너무 큰 ..