[ 상속 ]
- 다른 클래스의 기능(메소드)을 물려 받아서 사용할 수 있는 기능이다.
- 다음 관계가 있는 클래스들을 상속 관계로 만들 수 있다.
- 1) is a 관계 : ~은 ~이다.
- 2) has a 관계 : ~은 ~을 가지고 있다.
- 참고) Java는 다중 상속을 지원하지 않는다.(부모가 둘은 불가능)
[ is a 관계 ]
- 상속 관계로 만들 수 있는 대표적인 관계이다.
- 예시
- Student is a Person. (학생은 사람이다.)
- 개념
- 자식클래스 is a 부모클래스
[ 부모 클래스 ]
- 자식 클래스에게 기능(메소드)을 제공한다.
- 슈퍼 클래스(super)라고 한다.
[ 자식 클래스 ]
- 부모 클래스의 기능(메소드)을 자신의 것처럼 사용할 수 있다.
- 서브 클래스(sub)라고 한다.
[ 상속 관계 도식 ]
┌--------------┐
│ Person │ 슈퍼 클래스
│--------------│
│ eat() │
│ sleep() │
└--------------┘
▲
│
│
┌--------------┐
│ Student │ 서브 클래스
│--------------│
│ study() │
└--------------┘
public class Person {
public void eat() {
System.out.println("냠냠");
}
public void sleep() {
System.out.println("쿨쿨");
}
}
public class Student extends Person {
public void study() {
System.out.println("공부");
}
}
public static void main(String[] args) {
// Student 객체 선언&생성
Student s = new Student();
// Student 객체 메소드 확인
s.eat(); // 슈퍼 클래스로부터 상속 받은 메소드
s.sleep(); // 슈퍼 클래스로부터 상속 받은 메소드
s.study(); // 내 꺼
}
정리가 잘 된 글이네요. 도움이 됐습니다.