반응형
Parent.java
package app;
public class Parent{
public String nation;
public Parent(){
this("대한민국");
System.out.println("Parent() Call");
}
public Parent(String nation){
this.nation = nation;
System.out.println("Parent(String nation) Call");
}
}
Child.java
package app;
public class Child extends Parent{
private String name;
public Child(){
this("홍길동");
System.out.println("Child() Call");
}
public Child(String name){
this.name = name;
System.out.println("Child(String name) Call");
}
}
다음과 같은 Java 프로그램이 존재할 때, 과연 각 클래스의 생성자는 어떤 순서로 생성될까요?
정답은!!!
아래 사진과 같습니다.
Child는 Parent를 상속하고 있는 클래스로 생성 시 , Parent 객체가 생성됩니다. 다만, Parent의 Default 생성자 안에는 자신의 생성자에 String Parameter 값을 전달해서 호출하는 소스코드가 존재합니다.
따라서 순서는 Parent(nation) -> Parent -> Child(name) -> Child 순으로 호출되게 됩니다!
위 내용은 혼자공부하는 자바 책에 나오는 내용으로 자세한 책 내용은 아래를 참고해주세요!
http://www.hanbit.co.kr/store/books/look.php?p_code=B5635758676
'개발 > JAVA' 카테고리의 다른 글
[6주차] 입출력 스트림 요약 정리 (0) | 2020.03.14 |
---|---|
[5주차] 직접 정리한 키워드 공유하기 - 혼자 공부하는 자바 (0) | 2020.03.08 |
[4주차] 직접 해보는 손코딩! Thread (0) | 2020.02.29 |
[3주차] 혼공 용어노트 활용 (0) | 2020.02.22 |
[1주차] JDK 설치인증 (0) | 2020.02.06 |
댓글