- 부모 클래스의 맴버를 자식 클래스에게 물려주는 것
- 부모 : 부모/상위/슈퍼 클래스
- 자식 : 자식/하위/서브 클래스
- 상속을 통해서 다른 클래스가 가지고 있는 맴버를 직접 만들지 않고 상속을 받음으로써 자신의 멤버처럼 사용할 수 있음
클래스의 상속
[접근 제한자] class 자식클래스명 extends 부모클래스명 { ... }
- 다중 상속 불가
- 모든 클래스는 Object 클래스의 후손
- 부모 클래스에서 private 접근 제한을 가지는 필드와 메소드는 상속에서 제외
public class Animal {
...
}
public class Dog extends Animal {
...
}
자식 객체 생성
- 생성자는 객체 생성을 위한 특별한 메소드로 상속되지 않는다
- 자식 클래스의 객체를 생성하면 부모 클래스의 생성자가 먼저 호출되면서 부모 객체가 생성되고 자식 객체가 생성됨
- 자식 클래스의 생성자 안에서 super()를 통해서 부모 클래스의 생성자를 호출한다
- super()는 자식 클래스의 생성자 첫 줄에 위치해야한다
public class Animal {
private String name;
private String kinds;
public Animal() {
}
public Animal(String name, String kinds) {
this.name = name;
this.kinds = kinds;
}
}
public class Dog extends Animal {
private int weight;
public Dog() {
}
public Dog(String name, String kinds, int weight) {
super(name, kinds);
this.weight = weight;
}
}