작성
·
285
0
Student 클래스에 보시면
public Student() {
korea = new Subject();
math = new Subject();
}
public Student2 (int id, String name) {
studentID = id;
studentName = name;
korea = new Subject("국어");
math = new Subject("수학");
}
이렇게 있는데 저기 빨간 글씨인 첫번째 퍼블릭 스튜던트는 없어도 되는거 아닌가요? 두번째 퍼블릭 스튜던트가 있으면 첫번째건 없어도 되는거죠? 또 첫번째가 있다면 두번째가 없어도 되는 거 맞나요? 둘다 있을 필요는 없지 않나요?
답변 1
0
매개변수를 받지 않은 생성자를 '디폴트 생성자'라고 하고,
따로 생성자를 정의해두지 않으면
public Student() {}
의 형태로 자동으로 코드에 추가됩니다.(실제로는 안보이지만)
반면 'Student2'처럼 매개변수를 받도록 생성자를 추가하는 경우
디폴트 생성자는 따로 자동으로 추가되지 않습니다.
해서, 국어와 수학 과목의 객체만 생성하는
디폴트 생성자를 따로 정의한 것입니다.
다만 이 수업에서 'StudentTest' 클래스에서는
해당 기본 생성자를 사용하지는 않았습니다.