인프런 커뮤니티 질문&답변

강아지호빵찐빵님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

TextRPG 직업 고르기

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

해결된 질문

21.03.25 14:34 작성

·

280

0

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

int 같은 자료형인가요? 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2021. 03. 25. 14:53

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

강아지호빵찐빵님의 프로필 이미지

2021. 03. 25. 19:01

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

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2021. 03. 25. 19:41

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

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

강아지호빵찐빵님의 프로필 이미지

2021. 03. 25. 20:40

명쾌한 설명 감사합니다!