자바 기초

super, 부모 생성자

coding1842 2024. 1. 27. 16:56
package com.study.javastudy.study;

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

    public Car2(String name) {
        System.out.println("Car2의 name 생성자입니다.");
    }
}

package com.study.javastudy.study;

public class Truck extends Car2{
    public Truck() {
        // 오류, 부모가 먼저 생성되어야 하는데 부모가 기본생성자를 가지고 있지 않으면 직접 생성해 줘야한다 super("소방차");
        //public Car2(String name){} 기본생성자가 아닌걸 사용하면 super("소방차");를 작성해줘야 한다
        //super(); // 자동으로 쓰여진다, 그러므로 지워도 결과는 같게 나온다
        System.out.println("Truck의 기본 생성자입니다.");
    }
}

package com.study.javastudy.study;

public class TruckExam {
    public static void main(String[] args) {
        // 자동으로 부모 먼저 호출 된다
        Truck t = new Truck(); // Car2의 기본 생성자입니다. Truck의 기본 생성자입니다.
    }
}