inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

TextRPG 직업 고르기

ref, out과 반환 타입, struct에 대해 질문 드리고싶습니다.

해결된 질문

578

성호

작성한 질문수 1

1

여러번 반복하다보니 ref는 내부에서 초기화를 하지않아도 사용할 수 있고, out은 내부에서 초기화를 한 후 값을 내보내는 형태로 이해했습니다.

다만 반복을 하는 과정에서 

위와 같이 반환 타입을 ClassType의 enum 형식으로 했을때 return 값을 반환하고 ClassType의 Choice 변수에 저장하였습니다. 

다만, 몬스터를 스폰할 때는 void 타입으로 지정한 후 out을 통해 외부의 값을 바꾸어 준 것을 확인하였습니다.

그리고 첫 사진도 사실 void 값으로 바꾼 후 out을 이용해주면 똑같이 만들 수 있다는 사실을 확인했습니다.

질문을 드리고 싶은 부분!

 

1.거의 무조건적으로  void 타입의 함수를 사용하고 있는데 주석으로 순서를 정리하면서도 어디가 어디로 이어지는지  헷갈려서 이게 바람직한 방향인지 잘 모르겠습니다. 실제 업무에서는 반환타입을 지정해서 따로 변수를 주는지 궁금합니다.

 

2. enum 타입의 ClassType choice = ClassType.None; 의 개념이 enum내에 { choice = None과 같은값 } 이라는 변수(?)를 새로 추가해주는 것인지 궁금합니다.

 

3. 그렇다면 struct의 Monster monster / Player player는 뒤의 값이 정확히 무엇을 의미하는지 모르겠습니다. Monster라는 struct의 변수 monster값을 임의로 지정한 후 int hp, int attack 값을 변경한다는 의미로 이해하는게 맞을까요?

 

질문이 많아 죄송합니다!

C#

답변 1

0

Rookiss

1.거의 무조건적으로  void 타입의 함수를 사용하고 있는데 주석으로 순서를 정리하면서도 어디가 어디로 이어지는지  헷갈려서 이게 바람직한 방향인지 잘 모르겠습니다. 실제 업무에서는 반환타입을 지정해서 따로 변수를 주는지 궁금합니다.
실제 업무에서도~ 시리즈는 잠시 잊으셔도 됩니다.
그냥 이것저것 본인이 생각하는대로 다 해보세요.
두 방법 다 안될건 없지만 반환하는 값이 1개라면,
굳이 out까지 가진 않는 경우가 더 많습니다.

2. enum 타입의 ClassType choice = ClassType.None; 의 개념이 enum내에 { choice = None과 같은값 } 이라는 변수(?)를 새로 추가해주는 것인지 궁금합니다.
맞습니다. 임시 변수를 추가해서 값을 설정하고 반환하는 것인데요.
함수가 끝나면 { } 안에서 선언한 지역변수인 ClassType choice는 날라가지만,
return choice에 의해 결과물은 복사되어 리턴됩니다.

3. 그렇다면 struct의 Monster monster / Player player는 뒤의 값이 정확히 무엇을 의미하는지 모르겠습니다. Monster라는 struct의 변수 monster값을 임의로 지정한 후 int hp, int attack 값을 변경한다는 의미로 이해하는게 맞을까요?
네 맞습니다. Monster는 타입, monster는 변수의 이름인 것이고
struct 특성상 hp+attack을 세트로 들고 있는데 그것을 하나하나 고치고 있는 것입니다.

0

성호

친절한 답변 감사합니다 :) 비전공자임에도 제공해주신 커리큘럼 덕분에 체계적으로 학습하고있는 느낌이 들어 정말 좋은거 같습니다 감사합니다!!

Generic에 대한 질문 있습니다.

0

116

2

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

0

229

2

다형성 캐시 문제

0

138

3

.

0

79

1

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

0

87

1

이후 커리 질문

0

92

1

static

0

104

2

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

0

86

1

생성자의 이름 선언

0

75

1

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

0

96

1

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

0

252

1

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

0

261

1

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

0

314

2

Activator 질문있습니다

0

347

1

이넘 타임 선언 질문

0

361

1

Sort 오름차순, 내림차순

0

335

1

질문 있습니다.

0

256

1

팩토리얼 문제

0

280

1

Sort함수 질문있습니다.

0

274

1

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

0

231

1

질문이 있습니다.

0

236

1

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

0

224

1

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

1

290

1

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

0

402

1