인프런 커뮤니티 질문&답변
인수를 두개받는 생성자에서 특정 번째의 값만 입력하고싶을때
해결된 질문
작성
·
385
3
그러니까 두번째 값만 넣고 첫번재 값은 디폴트로 하고싶으면
Knight knight = new Knight ( , 5);
이런식으로 그냥 공란으로 하면되나요?
답변 1
6
Rookiss
지식공유자
안녕하세요,
정수 2개 받는 생성자 Knight(int hp, int attack)으로 정의되었다면
그렇게는 할 수 없고 반드시 두 값을 다 넣어줘야 합니다.
사실 생성자에선 필수적으로 들어가야 하는 애들만 적당히 넣어주고,
초기화하는 부분은 Init과 같은 다른 함수로 빼주는 것이 좋습니다.
(나중에 hp, attack 말고 능력치가 100개로 늘어날 수도 있기 때문이죠!)
그러나 질문주신 [공란으로 하면 기본값을 갖도록] 하기 위해서는 다음과 같은 방법을 고려할 수 있습니다.
위와 같이 만들어주면, 공란으로 생성 시 우리가 설정한 초기값(0)으로 들어가게 됩니다.
그리고 2번째 인자만 딱 찍어서 설정하고 싶으면 attack: 5와 같은 방법으로 특정 인자를 지정해서 설정할 수 있습니다.
(참고로 C++에선 없고 C#에서만 있습니다!! C# 짱짱)





