2022.10.12
상속 (Inheritance)
public 자식클래스 extends 부모클래스 {
}
- 클래스의 재사용 : 코드의 중복 사용을 줄이고 프로그램의 확장성 향상
- 기존 클래스의 확장,특화
- IS-A 관계 : [자식클래스 is a 부모클래스] 가 만족하는 관계
- 부모 클래스의 필드, 메소드를 자식 클래스가 상속 받아 사용 가능 (생성자는 제외)
- private으로 선언된 필드 및 메소드는 자식에게 상속되지 않는다.
- 단일 상속만 가능
- UML에서는 자식 클래스에서 부모 클래스로 화살표 표시
- 자식 클래스에서 부모 클래스의 메소드 오버라이딩 가능
- 메소드 오버라이딩
- 반환형, 메소드이름, 매개변수가 일치하고 메소드의 내용이 달라야 함.
- 접근제어자는 일치하거나 접근 범위가 넓어져야 함
- 같은 이름의 필드나 메소드 존재 시 자식 클래스 우선
- 상속 불가 클래스는 선언 시 final 명시
- 자바의 최상위 클래스는 java.lang.Object 로 모든 객체가 묵시적 상속 받는다.
final 클래스
final 메소드