다른 클래스(=부모 객체)가 가지고 있는 멤버(필드, 메소드)를 새로 작성할 클래스(=자식 객체)에서 새로 직접 만들지 않고 상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능

클래스간의 상속 시에는 extends 키워드 사용
public class Student extends Person{}
자식클래스의 생성자에서 부모의 생성자를 호출하는 코드
자식 생성자 최상단에 위치하여야 하며,
만약 자식클래스의 기본생성자에서 super() 미작성시 컴파일러가 작성해준다.
public class Student extends Person{
public Student(String name, int age, String nationality, int grade, int classRoom) {
super(name, age, nationality);
//최상단에 위치해야 한다.
this.grade = grade;
this.classRoom = classRoom;
}
}
자식 클래스가 부모 클래스의 객체를 가리키는 참조변수이다.
자식 클래스에서 부모 클래스의 객체에 접근하여 필드나 메소드를 불러오기 위해서 사용한다.
모든 클래스는 Object클래스의 후손 클래스이다. 따라서 Object클래스의 메소드를 오버라이딩해서 재구현 가능
부모 클래스의 생성자와 초기화블록은 상속이 되지 않는다.
부모의 private멤버 상속은 되지만 직접 접근 불가하다. - super()를 이용하거나 getter / setter를 이용하여 데이터를 수정하여야 한다.