TIL: 인터페이스와 런타임 데이터의 활용
- 문제 정의 및 해결 과정
- IEnhanceable 인터페이스를 사용하는 과정에서 인터페이스에 정의되지 않은 StackCount를 접근하려고 시도하여 오류가 발생함.
- StackCount를 IEnhanceable 인터페이스에 추가하거나, 명시적 캐스팅을 통해 구현 클래스에서 직접 접근하도록 수정함.
- 해결 방법
- IEnhanceable 인터페이스 수정: StackCount를 포함하여 모든 구현 클래스에서 통일된 접근 방식을 제공.
- 타입 캐스팅 활용: 특정 클래스(Weapon, Accessory)로 캐스팅하여 개별 구현에 접근.
- 주요 학습 내용
- 인터페이스 설계: 인터페이스는 공통된 속성과 동작을 정의하며, 구현 클래스 간의 일관성을 유지함.
- 런타임 데이터와 SO 데이터 구분: 강화 및 융합 시스템에서 런타임 데이터만 조작하고, SO 데이터를 보호하도록 설계.
- Unity UI 데이터 동기화: UI 업데이트 시 런타임 데이터를 기준으로 표시하며, 정확한 값을 반영하도록 수정.
- 느낀 점
- 인터페이스 설계 시, 시스템의 현재와 미래 요구 사항을 고려해야 오류를 최소화할 수 있음을 배움.
- Unity의 SO는 데이터 저장용으로만 사용하며, 런타임 데이터는 별도로 관리해야 유지보수가 용이함.
- 문제 해결 시 디버깅 로그를 적극적으로 활용하여 데이터 흐름을 파악하는 것이 중요함.
오늘은 인터페이스와 런타임 데이터 활용을 중심으로 설계와 디버깅의 중요성을 다시금 깨닫게 되었습니다. 🛠️
'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글
TIL(Today I Learned) - 58 (0) | 2024.12.11 |
---|---|
TIL(Today I Learned) - 57 (0) | 2024.12.10 |
TIL(Today I Learned) - 55 (0) | 2024.12.06 |
TIL(Today I Learned) - 54 (2) | 2024.12.05 |
TIL(Today I Learned) - 53 (0) | 2024.12.04 |