class가 인스턴스화 될 때, 생성자가 실행되면서 객체의 초기화를 함. 이때 부모 객체를 먼저 초기화.
따라서, 생성자만 실행되지 않고, 부모 생성자 실행후 생성자 실행
public class Car{
public Car(){
System.out.println("Car의 기본생성자입니다.");
}
}
public class Taxi extends Car{
public Taxi(){
System.out.println("Taxi의 기본생성자입니다.");
}
}
// 생성자 테스트
public class TaxiExam{
public static void main(String args[]){
Taxi b = new Taxi();
}
}
//결과
//Car의 기본 생성자입니다.
//Taxi의 기본 생성자 입니다.
new 연산자로 객체를 생성할 경우, 객체가 메모리에 올라갈 째 부모 객체도 함께 메모리에 올라감
생성자는 객체를 초기화하는 역할
생성자 호출 시, 부모 생성자 호출로 인해 부모객체 초기화
public class Car{
public Car(String name){
System.out.println(name + " 을 받아들이는 생성자입니다.");
}
}
public Taxi(){
super("소방차"); // 문자열을 매개변수로 받는 부모 생성자를 호출하였다.
System.out.println("Taxi의 기본생성자입니다.");
}