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

sc6re님의 프로필 이미지
sc6re

작성한 질문수

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

상수와 열거형

질문) 4:55초 switch문에 상수사용하기

작성

·

208

0

안녕하세요. 이제 강좌시리즈 시작하며 처음 파트3에서 막혀 문법부터 보고 있습니다.

4:55 부근 입니다.

Switch문에 Choice와 상수화된 변수들 ROCK... 등이 전혀 연관이 없어 보여서 미완성 코드로 보였는데요.

Const를 int ROCK = 1;에 붙히는 순간 ROCK과 1은 같은 것이 되는거네요? 

C언어에서 #define ROCK 1; 선언하는 것과 비슷한 느낌 맞나요?

답변 2

1

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

네 그렇습니다.

결국 다 상수를 만든다는 측면에서 비슷하긴 한데,
#define ROCK 1 이것은 말 그대로 'ROCK'이라고 되어 있는 부분을
(컴파일 바로 이전 단계인)전처리 단계에서 '1' 이라는 글자로 바꾸는 것에 불과합니다.

C++에서 #define을 사용할 땐 꼭 정수만 사용하는 것은 아니고,
각종 매크로를 만들 때도 유용하게 사용됩니다.
그러나 정작 '상수'를 만들고자 할 때는 #define보다는
const int 을 이용해서 상수 변수를 만들거나,
enum { ROCK = 1 } 과 같은 방법을 이용해 만드는 것이 더 바람직합니다.

0

sc6re님의 프로필 이미지
sc6re
질문자

답변이 힘이 됩니다. 감사합니다. 

sc6re님의 프로필 이미지
sc6re

작성한 질문수

질문하기