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

1209esk님의 프로필 이미지

작성한 질문수

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

생성자

생성자 this는 그러면

22.09.07 18:56 작성

·

246

0

다른 분들 Q&A 보면서 느낀 건데,

(1) 그럼 생성자 : this()는 같은 이름의 생성자(매개변수만 다른)를 호출하는 건가요?

함수로 치면 오버로딩 개념과 유사한 걸까요?

(2) 근데 어차피 타 생성자 내에서 this.hp = hp;이런 식으로 지정해주는데 왜 :this() 같은 형태로 또 호출할 필요가 있는지 모르겠습니다..

답변 2

1

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

2022. 09. 07. 22:07

1) 네, 매개변수가 다른 생성자를 호출하는게 맞습니다. (오버로딩과는 조금 다르죠)
2) this.hp = hp 같은 정보가 100개씩 있다면, 게다가 수정이 자주 일어난다면 어떨까요?
혹시라도 특정 생성자에 추가/삭제를 누락하면 버그가 일어날겁니다.
공통적인 부분은 한 곳에서 관리하는 것이 좋고 생성자도 예외가 아닙니다.
변수를 기본값으로 세팅하는 것을 한 곳에다 몰아넣고, 그 생성자를 호출하는 식으로 작성하는게 현명하겠죠!

0

1209esk님의 프로필 이미지
1209esk
질문자

2022. 09. 08. 08:58

생성자를 호출하면 this.hp = hp;를 명시해서 할당하지 않아도 알아서 할당이 된다는 말씀이실까요?

1209esk님의 프로필 이미지

작성한 질문수

질문하기