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
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
MacOS m1 openjdk 설치하기 (0) | 2023.09.17 |
---|---|
Java 캡슐화 (Encapsulation) 개념 정리 (3) | 2021.07.23 |
Java 상속(inheritance) 기본 개념 정리 (1) | 2021.07.19 |
Java this 의미와 사용법 (2) | 2021.07.17 |
Java 가상 머신 (JVM, Java Virtual Machine) (0) | 2021.07.17 |