- 상속이란 자식 클래스가 부모 클래스(super)로부터 필드와 메소드를 물려받는 것을 말한다.
- 자식클래스는 extensd를 이용해서 상속 가능하고 하나의 부모 클래스만 가능하다.
- 부모클래스는 super()에 의해 호출된다. 컴파일 과정에서 자동으로 추가된다.
- 메소드 오버라이딩은 상속된 메소드를 자식 메소드로 재정의 하는 것을 말하며 해당 부모 메소드는 숨겨지고, 자식 메소드가 우선적으로 사용된다. 사용시 부모 메소드의 선언부와 동일해야한다. 즉 자식의 오버라이딩된 메소드가 호출된다.
- 파이널 선언시 클래스는 부모 클래스가 될 수 없고 메소드는 오버라이딩할수 없는 메소드가 된다.
- 부모에서 자식은 캐스팅(강제형변환)이 필수이다. // Child child=(Child)parent;
- 다형성=자동타입변환+메소드 오버라이딩
- 추상 클래스는 실체클래스의 공통적인 필드나 메소드를 추출해서 선언한 클래스 실체클래스의 부모역할을 함. abstract 클래스 선언시에 붙이면된다.
- 추상메소드는 abstract가 붙고 중괄호가 없다. 자식클래스는 반드시 오버라이딩해서 실행내용을 채워야한다.
- 무분별한 자식클래스 생성을 방지하기 위해 봉인된(sealed)클래스가 도입 (자바15버전 이상부터)
package ch07.sec11;
public sealed class Person permits Employee, Manager,Student{
}