inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

TextRPG 직업 고르기

17분14초 쯤 질문 입니다

207

Jae-yoon Lee

작성한 질문수 1

0

안녕하세요 강사님. 프로그래밍 쌩 초보자인데 수업 잘 듣고 있습니다.  다름 아니라 강의 마지막 즈음에 While 문 안에 choice = ChooseClass(); 에서 ClassType choice = ChooseClass(); 로 수정 하셨는데, 디버깅으로 확인해보니 choice가 None으로 자동 설정되는 것 같더라고요. 그래서 choice를 따로 ClassType.None 선언 없이 바로 None으로 설정되는가 해서 ChooseClass 내에 choice도 그냥 ClassType choice; 로 선언하려고 했는데 이건 안되네요. (아래 스크린샷 첨부했습니다)

While 문 안에서 바로 ClassType choice를 써도 None으로 기본값이 설정되는데, ChooseClass에서는 None으로 선언해야되는 이유가 있나요? 

감사합니다.

C#

답변 2

1

Rookiss

[변수를 사용하려면, 무조건 초기화를 한 변수여야 한다]가 C# 기본 룰이라서 그렇습니다.

더 구체적으로 들어가면 변수마다 기본 값이 있긴 하지만 (정수는 0)
로컬 변수(함수 내부에 선언해서 사용하는 변수)는 기본 값으로 세팅이 되지 않습니다.
만약 운 좋게 해당 위치에 0인 값이 있었다면
ClassType choice가 ClassType.None으로 인식이 되긴 하겠지만
이는 어디까지나 요행이고,
컴파일러는 이런 불확실성에 기대 코드를 만들지 않기 위해 우리한테 강제로 초기화를 요구하게 됩니다.

0

Jae-yoon Lee

감사합니다.

Generic에 대한 질문 있습니다.

0

96

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

201

2

다형성 캐시 문제

0

113

3

.

0

71

1

프로퍼티 강의 질문 있습니다.

0

78

1

이후 커리 질문

0

86

1

static

0

91

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

65

1

9:03 Divide(10 , 3) 부분 질문입니다

0

88

1

깃허브 관련 질문 있습니다.

0

239

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

306

2

Activator 질문있습니다

0

332

1

이넘 타임 선언 질문

0

346

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

249

1

팩토리얼 문제

0

270

1

Sort함수 질문있습니다.

0

265

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

228

1

섹션2 연습문제 질문입니다.

0

214

1

안녕하세요~서버에 대해 질문이 있습니다.

1

283

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

394

1