상속과 생성자 관련 질문 합니다~!
미르
상속과 생성자에 대해서 공부중입니다.
오류는 아닌데요... 생성자에 대해서 배웠던거 헷갈려서요.
public class supertest{
protected double height;
protected double weight;
public supertest(){
system.out.println(supertest의 기본 생성자!!!);
}
public supertest(double height, double weight){
this.height = height;
this.weight = weight;
}
public void display(){
system.out.println(키 = + height);
system.out.println(몸무게 = +weight);
}
}
class subtest extends supertest{
protected string name;
protected int age;
//public subtest(){
// system.out.println(subtest의 기본 생성자!!!);
//}
public subtest(string name, int age, double height, double weight){
this.name=name;
this.age=age;
this.height=height;
this.weight=weight;
}
public void output(){
system.out.println(이름 = +name);
system.out.println(나이 = +age);
system.out.println(키 = +height);
system.out.println(몸무게 = +weight);
}
public static void main(string [] args){
subtest st = new subtest(홍길동,24,181.2,65.4);
st.output();
system.out.println(----------------);
st.display();
}
}이 소스를 배웠는데요..상속개념이 들어가있고 생성자도 들어가있습니다
일단 제가 생성자에 대해서 배울때...
기본생성자를 컴퓨터가 생성자가 하나도 없다면 만들어주고
기본생성자외에 생성자가 있다면 기본생성자를 직접 코딩을 해줘야하는걸로 알고있었습니다
근데 이 소스를 보시면 부모클래스를 상속받는 자식클래스 안에서
자식클래스의 기본 생성자를 안만들어줘도 에러가 안나고 컴파일이 되서요ㅠㅠ
(기본 생성자안에 출력문을 써보기도 했지만 아예 기본생성자 안으로 안들어가는거 같아요)
자식클래스를 하나 더 만들어서 컴파일 해봐도
/
역시 자식클래스에선 기본생성자가 아닌 생성자가 있는데 기본생성자가 없어도 컴파일이 되네요..
상속의 개념에서 기본생성자는 부모의 기본생성자만 호출하게 되는건가요???
글 읽어주셔서 감사합니다~모두 수고하세요~^^