이미 존재하는 클래스를 기반으로 새로운 클래스를 만들 때 사용하는 문법 요소
- 새로 만드는 클래스는 기존 클래스의 모든 속성과 메서드를 물려받아 사용할 수 있다
- 코드의 재사용성이 높아지기 때문에 유지보수가 쉬워진다
extends 키워드를 사용하여 부모 클래스를 지정
class Tree extends OakTree
super 키워드는 부모 클래스의 생성자나 메서드를 호출할 때 사용
class Tree {
Tree() {
System.out.println("A tree is growing.");
}
}
class OakTree extends Tree {
OakTree() {
super(); // Tree 클래스의 생성자 호출
System.out.println("An oak tree is dropping leaves.");
}
}
부모 클래스의 멤버에 접근하기 위해 사용되는 키워드
super를 사용하여 부모 클래스의 메서드, 속성 등을 호출
부모 클래스의 생성자를 호출하기 위해 사용되는 메서드
자식 클래스에서 부모 클래스의 메서드를 재정의하는 것
추상 클래스 : 미완성 클래스
추상 메서드 : 구현 내용이 없는 메서드
상속 계층 구조를 더욱 명확하게 설계 가능
- 상속을 통해 부모 클래스에서 정의한 멤버를 자식 클래스에서 재사용할 수 있다
- 코드의 중복을 줄이고, 유지보수성을 높일 수 있다
- 상속을 통해 새로운 클래스를 생성하고, 기존 클래스에 새로운 멤버를 추가하여 확장할 수 있다
- 기존 클래스의 기능을 유지하면서 새로운 기능을 추가할 수 있다
- 상속을 통해 같은 타입으로 여러 클래스 객체를 다룰 수 있는 다형성을 구현할 수 있다