내일배움캠프/TIL

[내배캠][Unity6기][TIL] 11.08 객체지향특강 요약 정리

binary는 호남선 2024. 11. 8. 19:32

Head

- 총 2회의 객체지향특강 중 2번째 특강 내용을 간략하게 정리

- 첫번째 객체 지향 내용도 정리를 하다가 말아서... 나중에 병합하여 한번에 업로드, 일단은 초벌만!

- 아직 완벽히 내용 파악하지 못해 추후 수정 예정

- ProtoType, Composite, Facade, Bridge, Flyweight


 

Body

ProtoType

- Prefab이나 GameObject를 가져와서 사용

- ex) Resources.Load<GameObject>("{path}")

 

Composite

- 컴포넌트의 조합으로 GameObject를 구성

- ex) GetComponent, TryGetComponent, GetOrAddComponent

 

Facade

- 기능별로 클래스를 분할

- Player 클래스에 모든 기능 포함 X => Player, Controller, Condition, Equipment, Custom 분리

 

Bridge

- 인터페이스 다중 상속으로 프로젝트의 확장성과 유연성 증대

- 협업 시 작업 영역 충돌을 최소화하는 효과

- ex) Red Cube, Red Sphere, Blue Cube, Blue Sphere 구현 시 IColor, IShape로 다양한 오브젝트 생성에 대응

 

Flyweight

- ScriptableObject 사용으로 메모리 절약, Action 사용으로 UI 동기화에도 사용

- 단, 다루는 데이터가 가변적인 데이터인지, readonly 데이터인지에 따라 주의해서 사용 필요

 


Tail

핵심 요약 정리

- 클래스의 의존성과 결합도는 낮을수록 좋고, 응집도는 높을수록 좋음

- 코드는 불필요한 생성, 조건, 반복이 없을수록 좋음

- else if와 switch case가 많다면 인터페이스 다중 상속으로 구조 변경하는 것을 고려해보기