작성
·
254
0
다른 분들 Q&A 보면서 느낀 건데,
(1) 그럼 생성자 : this()는 같은 이름의 생성자(매개변수만 다른)를 호출하는 건가요?
함수로 치면 오버로딩 개념과 유사한 걸까요?
(2) 근데 어차피 타 생성자 내에서 this.hp = hp;이런 식으로 지정해주는데 왜 :this() 같은 형태로 또 호출할 필요가 있는지 모르겠습니다..
답변 2
1
1) 네, 매개변수가 다른 생성자를 호출하는게 맞습니다. (오버로딩과는 조금 다르죠)
2) this.hp = hp 같은 정보가 100개씩 있다면, 게다가 수정이 자주 일어난다면 어떨까요?
혹시라도 특정 생성자에 추가/삭제를 누락하면 버그가 일어날겁니다.
공통적인 부분은 한 곳에서 관리하는 것이 좋고 생성자도 예외가 아닙니다.
변수를 기본값으로 세팅하는 것을 한 곳에다 몰아넣고, 그 생성자를 호출하는 식으로 작성하는게 현명하겠죠!
0