반응형
여러 개의 생성자가 있을 때 부모 클래스의 생성자 호출
파라미터만 다르면 생성자를 여러 개 만들 수 있다. 이번에는 부모 클래스의 생성자가 여러개 있을 때 호출 순서와 강제로 부모 클래스를 호출하는 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() 메서드를 추가해 주고 다시 출력해 본다.
부모 클래스의 파라미터 값이 있는 생성자를 먼저 호출하고 자식 클래스의 생성자를 호출하게 된다.
반응형
'프로그래밍언어 > Java' 카테고리의 다른 글
[Java] : 상속을 허용하는 protected (0) | 2022.01.17 |
---|---|
[Java] : 상속을 제한하는 private (0) | 2022.01.17 |
[Java] : 생성자 상속의 순서 (0) | 2022.01.16 |
[Java] : 상속 개념과 예시 (0) | 2022.01.16 |
[Java] : 인스턴스 변수와 클래스 변수 (0) | 2022.01.15 |
댓글