It
-
[디자인패턴]싱글턴 패턴IT 발자취.../디자인패턴 2018. 12. 9. 03:15
1. 정의 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴. 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나고 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환한다. (자바에선 생성자를 private로 선언해서 생성 불가하게 하고 getInstance()로 받아쓰기도함) 즉, 인스턴스가 필요할 때 똑같은 인스턴스를 만들어 내는 것이 아니라, 동일(기존) 인스턴스를 사용하게함 2. 개요 싱글톤 패턴을 쓰는 이유 - 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지 - 싱글톤으로 만들어진 클래스의 인스턴스는 전역 인스턴스이기 때문에 다른 클래스의 인스턴스의..
-
[디자인패턴]팩토리 패턴IT 발자취.../디자인패턴 2018. 12. 9. 03:14
디자인패턴을 공부하기 전 디자인패턴 뿐만 아니라 자주 나오는 용어지만 제대로 알지 못한 용어를 정리하고자합니다. Concrete Class(구상클래스) vs Abstract Class (추상클래스) 추상 클래스는 객체 지향을 공부하며 많이 공부했을 것이라 생각합니다. 디자인 패턴을 공부하며 많이 나왔던 Concrete Class는 구체화된 클래스? 라고 생각하면 될 것같습니다. 즉, 모든 오퍼레이션의 구현을 제공하는 클래스 정도로 알고 있으면 될 것 같습니다. :) [팩토리패턴] 1. 정의 - 모든 팩토리 패턴에는 객체 생성을 캡슐화 한다. - 팩토리 메서드 패턴과 추상 팩토리 패턴이 있다. - 팩토리 메서드 패턴 : 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클..
-
[디자인패턴] 데코레이터 패턴IT 발자취.../디자인패턴 2018. 12. 9. 03:13
. 정의 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. ConcreteComponent에 새로운 행동을 동적으로 추가할 수 있다. 각 데코레이터 안에는 구성요소(Component)에 대한 레퍼런스가 들어있는 인스턴스 변수가 있다. Decorator는 자신이 장식할 구성요소(Component)와 같은 인터페이스 또는 추상 클래스를 구현한다. ConcreteDecoratorA, ConcreteDecoratorB 에는 그 객체가 장식하고 있는(데코레이터가 감싸고있는 Component객체)을 위한 인스턴스 변수가 있다. 따라서 데코레이터 Component의 상태를 확장할 수 있다. ConcreteDecoratorA, Co..