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

안상현(북서니)님의 프로필 이미지
안상현(북서니)

작성한 질문수

C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)

3.11 protected와 this/base

_언더바에 대해 질문드립니다.

작성

·

205

0

이번 강의의 마지막까지 따라했는데요,

조금 이해가 안되는 부분이 있어서 질문드립니다.

 

강의 마지막에 보면 저렇게 base안에 _name _height _age 들이 들어가 있고,

부모가 되는 Human 클래스의 생성자에 있던 _name 등의 이름은 전부 수정한 상태입니다.

 

제가 이해하기엔 부모 생성자에서 언더바가 빠졌으니 base안에서 오류가 나야 하지 않을까 했는데 코드가 잘 돌아가서 그 부분이 이해가 되질 않습니다. 실제로 저도 해보니까 잘 되구요.

혹시 언더바가 단순 이름을 구분해주는 기능이 아니라 다른 기능이 있는 걸까요?

만약 그게 아니라면 부모 생성자에서 언더바가 빠졌는데 언더바로 적은 코드가 오류가 없는 이유는 뭘까요?

 

답변 1

0

백현우님의 프로필 이미지
백현우
지식공유자

안녕하세요 안상현님!

일단 인수에 적은 언더바는 단순 이름 구분을 위한 언더바가 맞습니다! this.name과 인수 name을 구분하기 위해 사용된 언더바에요! 

그리고 인수의 이름은 그 함수 내에서만 유효합니다. 즉, base를 이용하여 생성자를 호출할 때 인수의 이름은 name을 써야하는 것이 아니고, name 인수 안에 들어갈 값 (_name)을 입력해준 것입니다.

감사합니다 :)

안상현(북서니)님의 프로필 이미지
안상현(북서니)

작성한 질문수

질문하기