..열심히 공부하세../JAVA 문법

[26] 상속관계에서의 생성자

댄스댄스 2012. 5. 1. 15:07

 

* 상속 관계에서의 생성자

  - 자식 클래스 객체 생성시 기본 생성자를 호출하면 부모클래스도 기본생성자가 호출된다.
  - 자식 클래스 객체 생성시 부모클래스의 생성자가 먼저 호출되고 자식 클래스의 생성자가 호출됨
  - 부모클래스에 파라미터가 있는 생성자가 존재하면

     부모클래스의 기본생성자는 자동으로 생성되지 않음으로
     명시적으로 생성자를 선언해야 합니다.

  

※ 부모클래스는 생성자의 쓰임과 관련 없이 기본 생성자를 선언할 것을 절대 권장 한다

     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() 기본생성자호출
         * */

    }

}