경험 기반 솔직한 접근
C#과 객체지향 프로그래밍에 대한 이해도는 수업 Unity 개발 프로젝트에서 실제 코드 설계를 경험하며 높였습니다. 클래스 계층 설계에서 상속보다 인터페이스와 컴포넌트 합성을 선호하는 것이 코드 변경에 더 유연하다는 것을 배웠습니다. IDamageable 인터페이스를 만들어 플레이어, 적, 오브젝트 모두에 동일한 피격 로직을 적용한 경험이 있습니다. 캡슐화를 위해 private/protected 접근 제한자를 적절히 사용하고, public 속성은 get/set으로 관리했습니다.
다형성을 활용해 적 AI 타입별로 다른 행동을 구현하면서 호출부는 동일한 인터페이스를 쓸 수 있었습니다. OOP는 규칙을 외우는 것이 아니라 코드 변경이 얼마나 쉬운지로 검증된다고 생각합니다.