inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

생성자

생성자뒤에 붙는 this에 관해 질문드립니다

331

깃버

작성한 질문수 3

2

 생성자 뒤에 this가 붙을 경우

이전 생성자를 불러와 실행한 뒤

본 생성자를 실행하는 것으로 이해했습니다.

제가 이해한 방식대로 생각했을 때 

Kni3.mp의 값이 정해지는 순서가

1.this생성자(3번째) : 이전 생성자에서 hp,att,mp값 불러옴 

2.this생성자(2번째) : 이전 생성자에서 hp,att,mp값 불러옴 

3. this생성자(2번째): hp값 = 미입력, mp값 = 33

4.this생성자(3번째) : hp,att값 = 입력값 , mp값 = 33

Kni3.mp = 33이 나와야 한다고 생각했지만

디버깅해보니

Kni3.mp = 3 이 나와서 헷갈리기 시작했습니다.

생성자 뒤에 this가 붙을 경우 

"이전 생성자"를 불러오는게 아닌

"기본 생성자"에서 정해진 값만 불러오고

정해지지 않은 값은 0으로 불러오는 건가요?

C#

답변 1

5

Rookiss

안녕하세요,

우선 스스로 이런 저런 테스트를 하신다니 훌륭한 학습 방법이라고 생각됩니다.

질문주신 부분에 대해 답변 드리자면, 생성자에서 사용하는 this()를 그냥 함수 호출이라고 생각하시면 됩니다.

함수도 오버로딩 된 여러 버전 중에서, 인자 형식/개수가 일치하는 쪽을 선택하는데, 생성자도 별반 다르지 않습니다.

따라서 말씀하신 this()는 무조건 기본 생성자를 호출하고,

위의 예제에서 int 1개짜리 버전을 선택하려면 아래와 같이 this 안에 인자를 넣어주시면 됩니다.

첫번 째 단계 코드 질문

0

53

1

안녕하세요 Rookiss님 기본기를 다지고 있는 대학생입니다.

0

169

2

Generic에 대한 질문 있습니다.

0

185

2

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

0

302

2

다형성 캐시 문제

0

207

3

.

0

112

1

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

0

127

1

이후 커리 질문

0

138

1

static

0

173

2

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

0

132

1

생성자의 이름 선언

0

116

1

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

0

127

1

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

0

289

1

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

0

307

1

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

0

356

2

Activator 질문있습니다

0

389

1

이넘 타임 선언 질문

0

406

1

Sort 오름차순, 내림차순

0

373

1

질문 있습니다.

0

292

1

팩토리얼 문제

0

322

1

Sort함수 질문있습니다.

0

317

1

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

0

276

1

질문이 있습니다.

0

272

1

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

0

277

1