반응형

Design Pattern 7

[DESIGN PATTERN/JAVA] Prototype - 프로토타입 패턴

목 차Prototype : 복사해서 인스턴스 만들기Prototype 패턴의 구성 요소Prototype 패턴의 구현예시Prototype 패턴의 특징 Prototype : 복사해서 인스턴스 만들기프로토타입 패턴은 객체 생성 패턴 중 하나로, 원형이 되는 인스턴스를 기본으로 하여 객체를 복제하여 새로운 인스턴스를 만드는 패턴이다.우리 주변에서 이 프로토타입 패턴이 적용된 것이 무엇이 있을까? 티켓 발권을 예로 들어보자. 한 콘서트를 위해 티켓을 발권할 때, 매번 새로운 티켓 디자인을 만들 필요 없이 기존 티켓의 고정된 디자인을 가지고 이미지, 공연 명, 관람 일시, 예매번호 등만 적절히 변경해서 발권하면 된다. 또 베이커리에서 쿠키나 빵을 만들 때, 일일이 모양을 만들지 않고 틀을 이용해 일정한 모양으로 여..

_ 개발 2024.11.19

[DESIGN PATTERN/JAVA] Template Method - 템플릿 메서드 패턴

목 차Template Method : 하위 클래스에서 구체적으로 처리하기Template Method 패턴의 구성 요소Template Method 패턴의 구현 예시Template Method 패턴의 특징 Template Method : 하위 클래스에서 구체적으로 처리하기상위 클래스에서는 처리를 위한 기본 골격를 정하고, 하위 클래스에서 그에 대한 구체적 내용을 결정하도록 하는 디자인 패턴이다. 일반적인 알고리즘의 구조를 상위 클래스에 작성하고, 이에 대한 세부적인 동작을 하위 클래스에서 구현하는 방식으로 코드를 구성한다.이 패턴의 역할은  '템플릿'이라는 이름에서도 그 쓰임이 쉽게 예측이 가능하다. 일반적으로 우리가 아는 문서 작성 템플릿, 웹페이지 디자인 템플릿 등을 떠올리면 된다. 어떤 작업을 하는데 ..

_ 개발 2024.11.13

[DESIGN PATTERN/JAVA] Adapter - 어댑터 패턴

목 차Adapter : 바꿔서 재이용하기Adapter 패턴의 구성 요소Adapter 패턴의 구현 예시Adapter 패턴의 특징Adapter : 바꿔서 재이용하기기존 클래스의 인터페이스를 다른 인터페이스로 변환하여, 호환성이 없는 클래스들을 사용할 수 있도록 만들어 주는 패턴이다. 일상 생활에서도 이러한 Adapter의 적용은 쉽게 찾아볼 수 있다. 외국으로 여행갈 때, 표준전압이 우리나라(220V)와 다른 나라면 전자기기를 충전하기 위해서 멀티 플러그 어댑터를 챙겨야한다. 또, 충전 단자가 USB C타입인 최신 전자기기 전용 충전기를 구매하지 않고, 기존 충전기를 그대로 사용하기 위해 USB A to C 변환 젠더를 사용하기도 한다. 이와 같이 Adapter 패턴을 사용하면 기존 코드를 변경하지 않고도 ..

_ 개발 2024.11.11

[DESIGN PATTERN/JAVA] Iterator - 이터레이터 패턴

목 차Iterator : 순서대로 지정해서 처리하기Iterator 패턴의 구성 요소Iterator 패턴의 특징Iterator 패턴 구현 예시 Iterator : 순서대로 지정해서 처리하기객체 내부 구조를 노출하지 않고도 그 안의 요소들을 순차적으로 접근할 수 있는 방법을 제공한다. 컬렉션(Collections) 객체가 가지고 있는 는 요소들에 순서대로 접근하여 처리를 반복한다.  Iterator 패턴의 구성 요소1. Iterator(반복자)요소에 순차적으로 접근하는 인터페이스를 정의. 주로 hasNext()와 next() 메서드가 포함됨2. ConcreteIterator(구체적인 반복자) Iterator 인터페이스를 실제로 구현하여 컬렉션 객체의 요소를 하나씩 접근하는 역할3. Aggregate(집합체)..

_ 개발 2024.11.10

[DESIGN PATTERN/JAVA] Factory Method - 팩토리 메서드 패턴

목 차Factory Method : 하위 클래스에서 인스턴스 작성하기Factory Method 패턴의 구성 요소Factory Method 패턴의 특징Factory Method 패턴 구현 예시Factory Method : 하위 클래스에서 인스턴스 작성하기인스턴스 생성을 위한 공장(Factory)를 템플릿 메서드 패턴(Template Method)으로 구현한 디자인 패턴이다. 객체 생성 책임을 하위 클래스에 위임하여, 인스턴스를 생성할 때 어떤 클래스 인스턴스를 생성할지를 하위 클래스가 결정하게 한다. 객체 생성을 위해 직접 클래스의 인스턴스를 만들지 않고 특정 메서드를 호출하여 객체를 생성하도록 만든다. Factory Method 패턴의 구성 요소1. Product(제품) 인터페이스Factory Metho..

_ 개발 2024.11.09

[DESIGN PATTERN/JAVA] Singleton - 싱글톤 패턴

Singleton : 인스턴스 한 개만 만들기특정 클래스 인스턴스가 반드시 하나만 존재해야 하며 이를 보증하고 싶을 때 사용한다. 어디서든 해당 인스턴스 접근할 수 있게 보장하는 디자인 패턴이다. 목 차Singleton 패턴의 구성요소Singleton 패턴의 특징Singleton 패턴의 문제점Singleton 패턴의 구현 방식 Singleton 패턴의 구성요소싱글톤 패턴 적용할 객체 클래스(아래 예시에서는 Singleton 객체 클래스)가 필요하며, 해당 객체 클래스는 아래와 같은 변수와 메서드를 기본적으로 갖는다.1. Singleton 클래스public class Singleton { // (1) 클래스 변수 singleton private static Singleton singleton =..

_ 개발 2024.11.01

[DESIGN PATTERN] 디자인 패턴이란 무엇일까 : 디자인 패턴의 정의와 분류

개발자로서 많은 프로그램 개발을 진행하다 보면 비슷한 코드들이 반복되는 상황을 겪게 된다. 그러다보면 같은 기능을 가진, 비슷한 프로세스로 반복되어 사용되는 코드들을 모아 패턴화시켜 사용하게 되는데, 이를 우리는 디자인 패턴이라고 부른다. 객체지향 프로그래밍에 있어 디자인 패턴은 문제 해결 방법론으로 자주 사용되는데, 이에 대해 자세히 알아보자. 목 차패턴(Pattern)디자인 패턴이란디자인 패턴의 기본 원칙디자인 패턴의 분류 및 종류  패턴(Pattern)Pattern -  되풀이되는 사건이나 물체의 형태패턴은 그 어원의 기본 의미를 바탕으로 많은 분야에서 사용되고 있다. 미술의 관점에서 볼 때 패턴은 어떤 이미지가 반복됨을 의미하며, 영문법의 관점에서는 반복되는 어구 또는 문장 구조를 의미하기도 한다..

_ 개발 2024.10.31
반응형