상속하기

Student 클래스에서 Person 클래스의 함수를 호출했는데, 컴파일 에러 발생
extends

컴파일 오류
- 자동 삽입 규칙
- Java 컴파일러는 자식 생성자의 첫줄이
super(...)나this(...)가 아니면 컴파일러가 암시적으로super()(인자 없는 호출)을 첫 줄에 넣음
- Java 컴파일러는 자식 생성자의 첫줄이
- 기본 생성자 규칙
- 클래스에 생성자를 하나라도 직접 선언하면, 컴파일러는 기본 생성자를 자동으로 생성하지 않음
위의 규칙 2개가 맞물려 컴파일 오류
- 중복 코드를 클래스로 분리하기 에서
Person클래스를 보면 생성자를 하나 선언함 - 따라서 기본 생성자를 자동으로 생성하지 않음
Student클래스의 생성자의 첫줄에super(...)또는this(...)가 없기에 컴파일러가super()을 첫 줄에 넣음Person클래스는 기본 생성자가 없어서 컴파일 오류

부모, 자식을 각각 생성자를 호출해서 초기화
영상 퀴즈
1. 부모 클래스와 자식 클래스가 있을 때 누구부터 초기화할까요?
A: 부모 클래스