내일배움캠프-언리얼

[내일배움캠프 - 언리얼] DAY 53 - 디커플링

이시보 2026. 2. 19. 21:12

Decoupling

목표: 의존성 최소화, 독립성 최대화

 

완전독립이 목표가 아님

-> 시스템의 요소들이 어느 정도 협력해야함

 

디커플링의 보편적 가치

- 복잡도 관리

- 유지보수성

- 재사용성

- 확장성

- 병렬 개발

 

소프트웨어 공학의 디커플링

변화의 속도 - 빠른 변화

복잡도 - 높은 복잡도

보이지 않는 구조 - 추상성

 

약결합

1. 변경 격리

2. 재사용 가능

3. 테스트 쉬움

4. 병렬 개발

 

디커플링 패턴

1. 인터페이스

- 다형성, 타입 안전, 컴파일 타임 체크

2. 델리게이트

- 언리얼 표준 방식, 블루프린트 지원, 타입 안전

3. 옵저버 패턴

- 고전적 디자인 패턴, 이해하기 쉬움

4. 의존성 주입

- 테스트 시 Mock 주입 가능, 구현 교체 쉬움

5. 메시지 패턴

- N:N 관계 지원, 완전한 디커플링, 런타임 확장 가능

언리얼 엔진의 디커플링

1. SubSystem

- 싱글톤 패턴의 안전한 버전

2.Component 기반 설계

- 단일 책임 원칙, 재사용 가능

3. 블루프린트-C++ 분리

- 디자이너, 프로그래머 병렬 작업

4. Data-Driven 설계

- 코드 수정 없이 데이터만 변경