프로그래밍 언어/Java
Java 상속 관계 클래스 생성자 호출 순서 정리
남제이입니다!
2021. 7. 23. 20:48
728x90
반응형
상속관계에서 객체 생성시 생성자의 호출 순서를 간단한 예제를 통해 알아보았다.
예제에서는 다음과 같이 3개의 클래스를 만들었다.
SuperClass
SubClass <- SuperClass (SuperClass 를 상속받는 SubClass)
SSubClass <- SubClass (SubClass 를 상속받는 SsubClass)
[SuperClass]
package com.constructorExam;
public class SuperClass {
public SuperClass() {
System.out.println("Superclass 생성");
}
}
[SubClass]
package com.constructorExam;
public class SubClass extends SuperClass {
public SubClass() {
System.out.println("Subclass 생성");
}
}
[SsubClass]
package com.constructorExam;
public class Ssubclass extends SubClass {
public Ssubclass() {
System.out.println("SsubClass 생성");
}
}
d[Main Class]
package com.constructorExam;
public class Main {
public static void main(String[] args) {
// write your code here
Ssubclass ssub = new Ssubclass();
}
}
[출력 결과]
Superclass 생성
Subclass 생성
SsubClass 생성
메인에서 SsubClass 인스턴스를 생성했다.
SsubClass 가 생성되면서 SubClass 를 호출하고
SubClass 가 생성되면서 SuperClass 를 호출했다.
그리고 출력은 Superclass -> SubClass -> SsubClass 순서로 실행되는 것을 확인할 수 있었다.
정리해보면
[호출 순서]
SsubClass -> SubClass -> SuperClass
[실행 순서]
SuperClass -> SubClass -> SsubClass
728x90
반응형