Struct는 데이터 묶음, Enum은 선택지를 담당한다
Struct 안에 Enum 필드를 두면 한 항목의 값과 상태를 같은 모델 안에서 관리할 수 있다.
Struct가 담당
필드 묶음
Name, Damage, Icon, Type
전달 단위
함수 입력, DataTable Row, SaveGame 값
배열 요소
인벤토리, 퀘스트 목록
Enum이 담당
상태 이름
Weapon, Potion, QuestItem
분기 기준
Switch on ItemType
허용 목록
문자열 오타를 제거
검수
의미
모델링 순서
먼저 필드를 묶고, 반복되는 분기 값만 Enum으로 뺀다.
검수
Struct는 “무엇을 담는가”, Enum은 “어느 경우인가”로 읽혀야 한다.