티스토리 뷰
Development/Technical Interview
[면접 준비 - Java]자녀 클래스에서 부모 클래스 생성자 호출
Vagabund.Gni 2022. 10. 25. 10:20728x90
반응형
생성자 글에서도 적었지만, 부모 클래스가 기본 생성자를 가지고 있지 않으면
자녀 클래스의 생성자는 반드시 부모의 매개변수가 있는 생성자를 첫 줄에 호출해야 하며,
그렇지 않을 경우 컴파일 오류가 발생한다.
사실 부모가 기본 생성자를 가지고 있는 경우에도 자녀 클래스 생성자에서 호출해주어야 하는 건 같지만
이 경우에는 컴파일러가 알아서 추가해주기 때문에 명시적으로 할 필요가 없을 뿐이다.
왜 이런 귀찮은 작업을 수행해야 하는 걸까?
정답부터 말하자면 상속을 위해선 부모 클래스가 자녀 클래스보다 먼저 존재해야 하기 때문이다.
상속받은 클래스 멤버는 기본적으롤 부모 클래스에 속한 것이므로 부모가 먼저 존재하지 않으면
자녀 클래스에서 호출해 사용하는 것이 불가능하다.
따라서 반드시 자녀 클래스보다 부모 클래스가 먼저 호출되고 초기화되어야 하며,
자녀 클래스의 모든 행위 이전에 호출되어야 하므로 가장 첫 줄에 호출 코드가 위치해야 한다.
이상을 간단한 코드로 표현하면 아래와 같다.
public class Child extends Parent
{
public int age;
public Child(String name, int age)
{
super(name, age); // 매개변수가 있는 생성자의 경우
this.age = age;
...
}
}
반응형
'Development > Technical Interview' 카테고리의 다른 글
[면접 준비 - Cloud]PaaS, Docker, 그리고 (2) | 2022.12.09 |
---|---|
[면접 준비 - Java]JVM 구조(1), JVM Workflow (8) | 2022.10.30 |
[면접 준비 - Java]메서드 오버로딩 vs. 메서드 오버라이딩 (2) | 2022.10.25 |
[면접 준비 - Java]생성자(Constructor) (2) | 2022.10.24 |
[면접 준비 - Java]클래스(Class)와 객체(Object) (2) | 2022.10.23 |
[면접 준비 - Java]기본형 vs. 참조형 데이터 타입 (2) | 2022.10.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- 자바
- 스프링
- 리스트
- 맛집
- 세모
- 세계일주
- 지지
- 남미
- 여행
- 동적계획법
- 스트림
- 기술면접
- 알고리즘
- a6000
- BOJ
- 칼이사
- 파이썬
- RX100M5
- Backjoon
- 유럽여행
- 유럽
- java
- Algorithm
- spring
- 중남미
- 세계여행
- 야경
- Python
- 면접 준비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함