상속의 생성자 Stack 호출

Hwalyo·2022년 8월 30일
0
post-custom-banner

class Extends의 호출 스택 예시.

class GrandParents{
    public GrandParents(){
        System.out.print("grand-");
    }
}

class Parents extends GrandParents{
    public Parents(String type){
        System.out.print(type);
    }
}
public class Mount extends  Parents{
    public Mount(){
        super("parent-");
        new Parents("parent-");
    }
    public static void main(String[] args){
        new Mount();
    }
}

분석

  1. main 메서드가 호출 스택에 등록
  2. new Mount()로 클래스를 호출스택에 등록.
  3. super("parent-") 부모의 상속 정보를 자식 클래스에서 사용 가능.
  4. Parents가 호출 스택에 등록.
  5. GrandParents가 호출 스택에 등록
  6. 이제 Grandparents -> Parents 동작하고 super()의 작업을 종료.
  7. new Parents('parent-') 의 동작.
  8. 호출스택에 Parents -> GrandParents가 다시 push.
  9. 생성자를 호출하면서 GrandParents -> Parents -> Mount -> main 순서로 종료.

결과

grand-parent-grand-parent-
profile
꾸준하게글을작성해보자
post-custom-banner

0개의 댓글