컴포넌트 패턴 기반 설계
특징: 객체가 특정 기능을 직접 상속받는 것이 아니라, 여러 독립적인 컴포넌트를 조합하여 기능을 확장하는 방식
장점
- 유연성: 객체는 여러 개의 컴포넌트를 가질 수 있으며, 필요에 따라 쉽게 추가 및 삭제 가능
- 코드 재사용성 증가: 특정 기능을 독립적인 컴포넌트로 만들어 여러 객체에서 공유 가능
- 런타임 동적 변경 가능: 게임 실행 중 새로운 기능을 추가하거나 제거할 수 있음
단점
- 관리 복잡성 증가: 컴포넌트가 많아지면 객체와 컴포넌트 간의 관계를 관리하는 코드가 증가할 수 있음
- 초기 설계 필요: 시스템을 처음부터 컴포넌트 기반으로 설계해야 효과적임
상속 vs 컴포넌트 패턴 비교
비교 항목 | 상속 | 컴포넌트 패턴 |
구조 | 계층 구조 기반 | 독립적인 모듈 조합 |
확장성 | 상속 구조에 따라 제한적 | 새로운 컴포넌트를 추가하여 유연하게 확장 가능 |
코드 재사용 | 부모 클래스를 공유하는 경우 코드 재사용 가능 | 컴포넌트를 여러 개의 객체에서 재사용 가능 |
런타임 동적 변경 | 불가능 | 가능 |
유지보수 | 계층이 깊어지면 유지보수 어려움 | 개별 컴포넌트 수정으로 유지보수 용이 |
다형성 활용 | 오버라이딩, 다형성 적용 가능 | 다양한 컴포넌트 조합을 통해 다형성 구현 가능 |
'New > CS 복습' 카테고리의 다른 글
데이터 직렬화 & 역직렬화 (1) | 2025.03.29 |
---|