[26] 상속관계에서의 생성자
* 상속 관계에서의 생성자
- 자식 클래스 객체 생성시 기본 생성자를 호출하면 부모클래스도 기본생성자가 호출된다.
- 자식 클래스 객체 생성시 부모클래스의 생성자가 먼저 호출되고 자식 클래스의 생성자가 호출됨
- 부모클래스에 파라미터가 있는 생성자가 존재하면
부모클래스의 기본생성자는 자동으로 생성되지 않음으로
명시적으로 생성자를 선언해야 합니다.
※ 부모클래스는 생성자의 쓰임과 관련 없이 기본 생성자를 선언할 것을 절대 권장 한다
public Parent(){ }
-------------------------------------------
package oop5super;
class ThisData{
int i;
int j;
int k;
ThisData()
{
this(4,5,6);
} //기본생성자. 무조건 추가선언. 절대적으로 권장
ThisData(int i,int j,int k){
this((i+j+k)/3);
this.i=i;
this.j=i;
this.k=i;
}
ThisData(int su){
for(int n=1;n<=su;n++)
{
System.out.print("#");
}
}
}
class SubThisData extends ThisData{
}
public class ContructorSuperEx {
public static void main(String[] args) {
SubThisData sub=new SubThisData();
/*
* 부모생성자 ThisData()
* 부모생성자 ThisData(int i,int j,int k)
* 부모생성자 ThisData(int su)
* 자식생성자 SubThisData() 기본생성자호출
* */
}
}