더북(TheBook)

이는 여러분이 태어나기 위해서 여러분의 부모님이 먼저 태어나야 하는 것과 같은 이치입니다. new라는 키워드로 Truck을 생성하면 이 Truck이 메모리에 올라갈 때, 즉 Truck이 인스턴스화될 때 부모인 Car 객체도 인스턴스화됩니다. Car 객체가 먼저 생성돼야만 Truck 객체도 생성된다는 것을 기억하세요.

 

그림 40-1 | 객체가 생성될 때 부모 클래스가 먼저 생성된다.

 

생성자는 객체를 초기화합니다. 생성자가 호출될 때 자동으로 부모의 생성자가 호출되면서 부모 객체를 초기화합니다. 부모의 생성자를 호출할 때는 부모 객체를 나타내는 super라는 키워드를 사용합니다. super()를 붙이면 부모 생성자가 호출됩니다. 따라서 Truck의 생성자가 호출됐을 때 컴파일러는 부모의 기본 생성자를 호출하는 명령을 자동으로 추가했을 것입니다.

package javaStudy;

public class Truck extends Car {
    public Truck() {
        super(); 
        System.out.println("Truck의 기본 생성자입니다.");
    }
}

 

실행결과

Car의 기본 생성자입니다.
ruck의 기본 생성자입니다.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.