본문 바로가기
언리얼엔진

[개념정리] 언리얼 오브젝트의 컴포지션

by 송파감자 2023. 7. 13.

컴포지션이란?

  •  객체 지향 설계에서 Has-A 관계를 구현하는 설계 방법

    -> Is-A 관계만 쓰면 설계&유지보수 어려움

    -> Has-A관계 : '집'은 '방'을 갖고 있다. '집'은 여러개의 '방' 객체를 가질 수 있음

  •  복잡한 언리얼 오브젝트를 효과적으로 설계할 때 씀

 

SOLID?

  • 2000년대 초 로버트 마틴이 명명한 객체 지향 프로그래밍 5가지 기본 원칙
  • S : Single Responsibility Principle
    • 하나의 객체는 하나의 의무만 가짐
  • O :  Open-Closed Principle
    • 기존 구현된 코드를 변경 안 하면서 새로운 기능 추가하기
  • L : Liskov Substitution Priciple
    • 자식 객체를 부모 객체로 변경해도 작동에 문제 없게 하기(상속 단순하게!)
  • I : Interface Segregation Design
    • 객체가 구현할 기능이 많다면 단순한 여러개의 인터페이스로 분리하기
  • D : Dependency Injection Principle 
    • 구현된 실물보다 구축할 추상적 개념에 의존