-
상속 관계에서의 생성자JAVA/상속 2020. 10. 10. 23:26
상속 관계에서의 생성자
- 자식 클래스 객체 생성시 기본 생성자를 호출하면 부모클래스도 기본생성자가 호출된다.
- 부모클래스에 파라미터가 있는 생성자가 존재하면 부모클래스의 기본생성자는 자동으로
생성되지 않음으로 명시적으로 생성자를 선언해야 한다.
- 자식 클래스 객체 생성시 부모클래스의 생성자가 먼저 호출되고자식 클래스의 생성자가 호출된다
☞ 부모클래스는 생성자의 쓰임과 관련 없이 디폴트 생성자를 선언할 것을 절대 권장.
예: public Parent(){ }- 부모 클래스의 생성자는 생략 가능하나 권장이 아니다.
1. 기본 생성자가 명시되지 않은 경우 자동으로 기본 생성자가 생성되어 객체가 만들어 진다.
프로그램 실행결과
소스 파일
2 -(1). 상속관계에서는 부모클래스의 생성자가 먼저 실행된다.
프로그램 실행결과
소스 파일
2 -(2). 상속관계에서는 부모클래스의 생성자가 먼저 실행된다.
프로그램 실행결과
아래의 프로그램과 같이 super()를 호출하면 부모의 생성자를 호출할 수 있다.
프로그램 실행결과
3. 부모 클래스의 생성자가 반드시 필요한 경우
아래의 예제는 에러요소가 잠재적으로 존재하는 경우이다.
프로그램 실행결과
소스 파일
'JAVA > 상속' 카테고리의 다른 글
추상 클래스(abstract class) (0) 2020.10.11 메소드 내부 객체 변수(this,super), 생성자 호출 메소드 (0) 2020.10.11 객체 형변환 (0) 2020.10.10 Method Overriding (0) 2020.10.10 상속의 개념 (0) 2020.10.10