강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ll0913
ll0913

câu hỏi đã được viết

Làm đi! Giới thiệu lập trình Java cùng cô giáo Eunjong

Lớp và Đối tượng1 (4)

24분 57초에 질문 있습니다!!

Viết

·

350

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("수학");
        }

 

이렇게 있는데 저기 빨간 글씨인 첫번째 퍼블릭 스튜던트는 없어도 되는거 아닌가요? 두번째 퍼블릭 스튜던트가 있으면 첫번째건 없어도 되는거죠? 또 첫번째가 있다면 두번째가 없어도 되는 거 맞나요? 둘다 있을 필요는 없지 않나요?

        

java

Câu trả lời 1

0

매개변수를 받지 않은 생성자를 '디폴트 생성자'라고 하고,
따로 생성자를 정의해두지 않으면

public Student() {}

의 형태로 자동으로 코드에 추가됩니다.(실제로는 안보이지만)

반면 'Student2'처럼 매개변수를 받도록 생성자를 추가하는 경우
디폴트 생성자는 따로 자동으로 추가되지 않습니다.

해서, 국어와 수학 과목의 객체만 생성하는
디폴트 생성자를 따로 정의한 것입니다.

다만 이 수업에서 'StudentTest' 클래스에서는
해당 기본 생성자를 사용하지는 않았습니다.

Hình ảnh hồ sơ của ll0913
ll0913

câu hỏi đã được viết

Đặt câu hỏi