티스토리 뷰

🟩 오늘의 목표

  • 디자인 패턴의 개념과 필요성을 이해한다.
  • 싱글톤, 옵저버, 데코레이터 패턴의 특징과 사용법을 익립힌다.
  • 디자인 패턴을 활용하여 코드의 재사용성과 유지 보수성을 높인다.

 

🟧 1. 디자인 패턴 (Design Patterns) 개요


🟦 디자인 패턴의 정의와 필요성

  • 정의: 개발 시 반복적으로 등장하는 문제를 해결하기 위한 일반화된 솔루션이다.
  • 필수성: 검증된 설계를 사용함으로써 개발 시간을 단축하고 기능 변경에 유연하게 대응할 수 있다.

🟦 디자인 패턴의 3가지 분류

  1. 생성 패턴 (Creational Patterns): 객체의 생성 방식과 관련된 패턴이다. (예: 싱글톤 패턴)
  2. 구조 패턴 (Structural Patterns): 객체들을 조립하고 연결하는 구조와 관련된 패턴이다. (예: 데코레이터 패턴)
  3. 행동 패턴 (Behavioral Patterns): 객체 간의 상호작용과 책임 분산에 관한 패턴이다. (예: 옵저버 패턴)

 

🟧 2. 생성 패턴: 싱글톤 패턴 (Singleton Pattern)


🟦 특징 및 구현

  • 목적: 시스템 전체에서 특정 클래스의 인스턴스가 오직 하나만 존재하도록 보장한다.
  • 핵심 로직: 생성자를 private으로 선언하여 외부 생성을 막고, static 메서드인 getInstance()를 통해서만 유일한 객체를 반환한다.
  • 사용 예시: 게임 내의 플레이어 비행기 관리나 전역 설정 데이터 관리 등에 사용된다.

 

🟧 3. 구조 패턴: 데코레이터 패턴 (Decorator Pattern)


🟦 특징 및 구현

  • 목적: 객체에 추가적인 기능을 동적으로 유연하게 덧붙일 때 사용한다.
  • 핵심 로직: 기본 기능을 가진 클래스를 데코레이터 클래스가 감싸는 구조를 가진다. 이를 통해 원본 코드를 수정하지 않고도 기능을 확장할 수 있다.
  • 사용 예시: 피자 베이스에 치즈, 페퍼로니 등 다양한 토핑을 선택적으로 추가하여 가격을 계산하는 시스템에 적합하다.

 

🟧 4. 행동 패턴: 옵저버 패턴 (Observer Pattern)


🟦 특징 및 구현

  • 목적: 한 객체의 상태가 변하면 그 객체에 의존하는 다른 객체들에게 자동으로 알림이 가고 내용이 갱신되도록 한다.
  • 핵심 로직: 상태를 관리하는 Subject에 여러 Observer를 등록하고, 데이터 변경 시 notify()를 호출하여 모든 옵저버를 업데이트한다.
  • 사용 예시: 엑셀의 원본 데이터가 변경될 때 이와 연결된 여러 차트가 동시에 업데이트되는 기능에 활용된다.

 

🟫 오늘 느낀 점

  • 반복되는 설계 문제를 해결하는 검증된 솔루션인 디자인 패턴을 통해 유지보수성과 확장성이 뛰어난 코드를 작성하는 법을 배웠다.

'내일배움캠프 Unreal_7기 > 본캠프' 카테고리의 다른 글

TIL - 20일차  (0) 2025.12.26
TIL - 19일차  (0) 2025.12.24
TIL - 17일차  (0) 2025.12.22
TIL - 16일차  (0) 2025.12.19
TIL - 15일차  (1) 2025.12.18