[2025_09_29]클래스와 메서드 나누기

2025. 9. 29. 19:27TIL

문제점

  • CharacterClass에 virtual ShowInfo 메서드를 만들고, Player에서 override로 구현했음.
  • 하지만 ShowInfo 내부에서 InGame 클래스에 있는 보유 아이템 리스트 및 장착 아이템 리스트에 접근하기 어려움.
  • 아이템 장착 여부에 따른 능력치 변화가 ShowInfo에 반영되지 않음.
  • Character/Player 클래스의 ShowInfo는 실시간 변화값을 반영하기 어려워 가독성과 유지보수성이 떨어짐

 

시도해본 것

 

  • Character와 Player 클래스는 순수 데이터(정보, 생성자)만 가지도록 단순화.
  • 게임 흐름과 관련된 동작(예: 능력치 계산, 정보 출력)은 InGame 클래스에서 처리.
  • InGame에서 Player 객체와 Item 리스트를 받아 실시간 능력치 반영 및 출력을 담당하도록 구조를 분리.

 

 

해결 방안

 

  • 데이터와 게임로직을 분리하는 방식으로 구조 개편.
  • Character / Player -> 캐릭터의 기본 정보 및 생성자만 보관.
  • InGame -> 게임 진행 로직(능력치 계산, 정보 출력, 아이템 효과 반영 등) 담당.

 

'TIL' 카테고리의 다른 글

[2025_10_02]Json-1  (0) 2025.10.02
[2025_10_01]foreach문에서의 데이터 변경  (0) 2025.10.01
[2025_09_26]for VS while,Array VS List  (0) 2025.09.26
[2025_09_25]UniRx  (0) 2025.09.25
[2025_09_23]UI계층 구조 설계  (0) 2025.09.23