본문 바로가기
프로그래밍언어/Java

[Java] : 여러 개의 생성자가 있을 때 부모 클래스의 생성자 호출

by 오주현 2022. 1. 17.
반응형

여러 개의 생성자가 있을 때 부모 클래스의 생성자 호출

파라미터만 다르면 생성자를 여러 개 만들 수 있다. 이번에는 부모 클래스의 생성자가 여러개 있을 때 호출 순서와 강제로 부모 클래스를 호출하는 supoer() 메소드에 대해 공부한다.

코드

class ToCarSetting {
    ToCarSetting() {
        System.out.println("부모 클래스 생성자 호출 (파라미터 없음)");
    }

    ToCarSetting(String str) {
        System.out.println("부모 클래스 생성자 호출 => " + str);
    }
}

먼저 부모 클래스에서 파라미터 값이 없는 생성자와 파라미터 값이 있는 생성자를 만들어준다.

class ToySedan extends ToCarSetting {
    ToySedan(String str){
        //super(str);
        System.out.println("자식 클래스 생성자 호출 => " + str);
    }
}

자식 클래스에서 부모 클래스를 상속 받고 파라미터 값이 있는 클래스만 만들어 준다.

**public class ToyCar {
    public static void main(String[] args) {
        ToySedan toySedan = new ToySedan("호출합니다.");
    }
}**

ToCarSetting을 상속 받은 ToySedan의 인스턴스를 생성해 주고 결과를 출력해 본다.

부모 클래스의 파라미터 값이 없는 생성자를 호출하고 자식 클래스의 생성자를 호출한다.

class ToySedan extends ToCarSetting {
    ToySedan(String str){
        super(str);
        System.out.println("자식 클래스 생성자 호출 => " + str);
    }
}

super() 메서드를 추가해 주고 다시 출력해 본다.

부모 클래스의 파라미터 값이 있는 생성자를 먼저 호출하고 자식 클래스의 생성자를 호출하게 된다.

 

반응형

댓글