• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

ClassType choice = ClassType.None;에서 앞의 'ClassType'은 무엇을 뜻하나요?

21.03.25 14:34 작성 조회수 189

0

ClassType choice = ClassType.None;에서 앞의 'ClassType'은 무엇을 뜻하나요?

int 같은 자료형인가요? 

답변 1

답변을 작성해보세요.

0

enum은 열거형이라는 타입입니다.
사실 내부적으로 1 2 3 4 과 같은 정수지만,
그 숫자에 각각 이름을 붙인 개념이라고 생각하시면 됩니다. (ex. ClassType.None = 0)

네 그건 아는데 좌항의  'choice' 앞에 있는 'classType'의 이름이 뭔지, 무슨 역할을 하는지 궁금해서요. 

int choice; 를 하면 'int' 타입의 변수를 할당해서 'choice'라는 이름으로 코드에서 사용하는데,
마찬가지로 ClassType choice; 를 하면 'ClassType' 타입의 변수를 할당하게 됩니다.

ClassType은 enum 타입이기 때문에 위 4개의 값 중 하나를 골라서 사용하게 됩니다.
메모리 상으로는 일반 정수처럼 1, 2, 3 혹은 4에 불과하지만,
C# 코드에선 1, 2, 3 이라는 의미없는 값을 하드코딩해서 넣는 것이 아니라
ClassType.Knight와 같이 우리가 알아보기 쉬운 값을 사용할 수 있게 됩니다.

명쾌한 설명 감사합니다!