• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

생성자 this는 그러면

22.09.07 18:56 작성 조회수 199

0

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

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

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

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

답변 2

·

답변을 작성해보세요.

1

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

0

1209esk님의 프로필

1209esk

질문자

2022.09.08

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