부모(객체) => 자식(객체)
- 부모의 속성과 기능을 자식이 물려받는것
- 자기만의 속성,기능 + 부모의 속성,기능 사용가능
다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 새로 작성할 클래스에서 직접 만들지 않고
상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능
클래스의 재사용, 연관된 일련의 클래스들에 대한 공통적인 규약 정의
- 유지보수 및 재사용성 감소
- 코드길이 감소
[접근제한자] class 클래스명 extends 클래스명 {}
public class Academy extends Company {}
자식 클래스가 상속 받은 부모 메소드를 재작성 하는 것
부모가 제공하는 기능을 후손이 일부 고쳐 사용하겠다는 의미로
자식 객체를 통한 실행 시 후손 것이 우선권을 가짐
특징
메소드 헤드라인 위에 반드시 Annotation, @Override 표시
접근 제어자를 부모 것보다 같거나 넓은 범위로 변경 가능
부모 메소드의 예외처리 클래스 처리범위보다 좁은 범위로 예외처리 클래스 수정 가능
성립조건
- 메소드 이름동일
- 매개변수의 개수,타입,순서 동일
- 리턴타입동일
- private메소드 오버라이딩불가
성립조건
같은 메소드 이름
다른 매개변수 선언부(매개변수 타입, 개수, 순서)
주의사항
메소드의 리턴타입은 오버로딩 조건과 관계 없음
final 클래스
- 상속이 불가능한 클래스
public final class finalClass {}- 상속시 오버라이딩이 불가능한 메소드
public final void method() {}