JAVA/상속

상속 관계에서의 생성자

DesignatedRoom 2020. 10. 10. 23:26

상속 관계에서의 생성자
   - 자식 클래스 객체 생성시 기본 생성자를 호출하면 부모클래스도 기본생성자가 호출된다.

   - 부모클래스에 파라미터가 있는 생성자가 존재하면 부모클래스의 기본생성자는 자동으로
     생성되지 않음으로 명시적으로 생성자를 선언해야 한다.

   - 자식 클래스 객체 생성시 부모클래스의 생성자가 먼저 호출되고 

     자식 클래스의 생성자가 호출된다 

   ☞ 부모클래스는 생성자의 쓰임과 관련 없이 디폴트 생성자를 선언할 것을 절대 권장.
       예: public Parent(){ }

 

   - 부모 클래스의 생성자는 생략 가능하나 권장이 아니다.

 

1. 기본 생성자가 명시되지 않은 경우 자동으로 기본 생성자가 생성되어 객체가 만들어 진다.

프로그램 실행결과

소스 파일

MovieTest.java
0.00MB

 

2 -(1). 상속관계에서는 부모클래스의 생성자가 먼저 실행된다.

프로그램 실행결과

소스 파일

MovieTest2.java
0.00MB

 

 

2 -(2). 상속관계에서는 부모클래스의 생성자가 먼저 실행된다.

프로그램 실행결과

아래의 프로그램과 같이 super()를 호출하면 부모의 생성자를 호출할 수 있다.

프로그램 실행결과

 

 

3. 부모 클래스의 생성자가 반드시 필요한 경우

   아래의 예제는 에러요소가 잠재적으로 존재하는 경우이다.

프로그램 실행결과

소스 파일

MovieTest3.java
0.00MB