책/Java 언어로 배우는 디자인 패턴 입문

클래스의 인스턴스를 만들고자 할 때 new라는 Java 언어의 키워드를 사용해서 클래스 이름을 지정하고 인스턴스를 생성한다. new ClassName(); new를 사용해 인스턴스를 만들 때는 클래스 이름을 반드시 지정해야만 한다. 클래스 이름을 지정하지 않고 인스턴스를 생성하고 싶을 때도 있다. 클래스에서 인스턴스를 생성하는 대신 인스턴스로부터 다른 인스턴스를 생성하는 Prototype 패턴 인스턴스로부터 다른 인스턴스를 생성하는 것은 복사기로 문서를 복사하는 것과 비슷하다. 원본 서류를 어떻게 만들었는지 모르더라도 복사기에 넣으면 같은 서류를 몇 장이든 만들 수 있다. ‘원형’이 되는 인스턴스를 바탕으로 새로운 인스턴스를 만든다. Java에서는 복제하는 조작을 ‘clone’이라고 부른다. Java 언..
인스턴스가 하나만 존재하는 것을 보증하는 패턴을 Singleton 패턴이라고 부른다. 요소가 하나뿐인 집합 시스템 안에 1개만 존재한다는 것을 프로그램으로 표현하고 싶을 때 컴퓨터 시스템 전체를 표현한 클래스 현재 시스템 설정을 표현할 클래스 혹은 각종 상수 등 프로그래머가 주의를 기울여서 new MyClass()를 한 번만 실행해 인스턴스를 하나만 생성하는 방법이 있지만 -지정한 클래스의 인스턴스가 반드시 1개만 존재한다는 것을 보증하고 싶을 때 -인스턴스가 하나만 존재한다는 것을 프로그램 상에서 표현하고 싶을 때 이름 설명 Singleton 인스턴스가 하나만 존재하는 클래스 Main 동작 테스트용 클래스 클래스 다이어그램 Singleton 클래스 인스턴스를 하나만 만들 수 있다. static 필드(클..
Template Method 패턴에서 상위 클래스에서 처리의 뼈대를 만들고, 하위 클래스 에서 구체적인 살을 붙였다. 이 패턴을 인스턴스 생성 장면에 적용한 것이 이번에 배울 Factory Method 패턴이다. Factory Method 패턴에서는 인스턴스 생성 방법을 상위 클래스에서 결정하되, 구체적인 클래스 이름까지는 결정하지 않는다. 구체적인 살은 모두 하위 클래스에서 붙인다. 인스턴스 생성을 위한 뼈대(프레임워크)와 실제 인스턴스를 생성하는 클래스를 나누어 생각할 수 있다. 인스턴스를 생성하는 공장을 Template Method 패턴으로 구성한 것이 Factory Method 패턴이다. 신분증 카드(ID카드)를 만드는 공장 예제 패키지 이름 설명 framework Product 추상 메서드 us..
Template Method 패턴이란? 템플릿 기능을 가진 패턴으로 상위 클래스 쪽에 템플릿이 될 메서드가 정의되어 있고, 그 메서드 정의에 추상 메서드가 사용된다. 상위 클래스의 코드만 봐서는 최종적으로 어떻게 처리되는지 알 수 없다. 상위 클래스로 알 수 있는 것은 추상 메서드를 호출하는 방법 뿐이다. 템플릿이란 ? 문자 모양대로 구멍이 난 얆은 플라스틱 판으로 펜으로 그 구멍을 따라 그리면 손으로도 반듯하게 글씨를 쓸 수 있다. 어떤 형태의 문자인지는 템플릿을 보면 알 수 있지만 어떤 필기도구로 쓰냐에 따라서 색이 다를 수 있고 연필, 펜등 종류가 다를 수 있다. 추상 메서드를 실제로 구현하는 것은 하위 클래스이다. 하위 클래스에서 메서드를 구현하면 구체적인 처리 방식이 정해진다. 다른 하위 클래스..
Adapter 패턴은 Wrapper 패턴이라고 불리기도 한다. 일반 상품을 깨끗한 포장지로 싸서 선물용 상품으로 만드는 것처럼, 무엇인가 포장해서 다른 용도로 사용할 수 있도록 변환해 주는 것이 래퍼이자 어댑터이다. DC 12V로 동작하는 노트북을 AC 100V 전원에 연결할 때 변환을 하기위해 AC 어댑터를 사용한다. 제공된 것과 필요한 것 사이에 들어가서 그 사이를 채우는 것이 Adapter의 역활이다. ‘이미 제공된 것’과 ‘필요한 것’ 사이의 차이를 메우는 디자인 패턴을 Adapter패턴 이라고 한다. 제공된 코드를 그대로 사용하지 못할 때 필요한 형태로 변환이 필요할 때 2가지 Adapter 패턴 -클래스에 의한 Adapter 패턴(상속을 사용한 패턴) -인스턴스에 의한 Adapter 패턴(위임..
uhanuu
'책/Java 언어로 배우는 디자인 패턴 입문' 카테고리의 글 목록