C#/C#프로젝트

[C#Project] C# 개인 과제 개발 회고 – TextRPG

도도돋치 2025. 4. 21. 20:57
Contents 접기
728x90

 과제 개요

이번 개인 과제에서는 Unity C# 기반의 간단한 RPG 게임 시스템을 구현했다.
UI를 출력하고, Player의 상태를 보여주며, 인벤토리와 상점 기능의 틀을 구성하는 것이 목표였다.

 

 

개발하며 배운 점

  1. 객체 간 의존성 설계의 중요성
    Player와 InventoryManager, ShopManager처럼 서로 데이터를 공유하는 구조에서는 객체 생성 순서와 참조 방식이 매우 중요하다는 걸 배웠다.
    → 특히 순환 참조(Circular Dependency)를 피하는 법을 직접 경험하며 설계에 대해 더 깊이 고민할 수 있었다.
  2. UI 분리의 이점
    UI 관련 기능을 UIManager로 분리하니, 전체 로직이 깔끔하게 정리되고 나중에 유지보수가 쉬워졌다.
  3. 입력값 처리의 안정성
    int.TryParse()를 통해 숫자 입력을 안정적으로 처리하는 방법을 익혔고, 예외 상황을 사용자에게 명확히 안내하는 방식도 고민해보았다.

 

 

고민했던 점

  • 객체 간 참조 순서가 꼬여 NullReferenceException이 자주 발생했는데, 구조를 개선하거나 생성자와 setter의 적절한 활용으로 해결했다.
  • Player와 Inventory의 관계처럼 한쪽이 아직 생성되지 않았는데 참조하려는 구조가 얼마나 쉽게 문제를 일으킬 수 있는지도 체감했다.

 

 다음 목표

  • 이번에 만든 구조를 기반으로 실제로 전투나 아이템 구매 기능까지 확장해보고 싶다.
  • 이후에는 인터페이스 활용도 도전해보려고 한다.

 

 

📖 마무리하며

이번 개인 과제는 단순한 콘솔 게임 시스템이었지만, 구조 설계와 순서, 참조 관계에 대한 실질적인 훈련이 되었다.
실제 프로젝트에서 발생할 수 있는 다양한 문제를 미리 경험하고 해결한 값진 시간이었다.

다음 팀 프로젝트때 이번에 고민했던 내용을 잘 적용시켜보고싶다.

728x90