상속
- 이미 개발된 클래스를 재사용하여 새로운 클래스를 만들기에 중복되는 코드를 줄임
- 부모 클래스의 한번의 수정으로 모든 자식 클래스까지 수정되는 효과가 있어 유지보수 시간이 줄어듬
클래스 상속
- 자식 클래스 선언 시 부모 클래스 선택
- extends 뒤에 부모 클래스 기술
class 자식클래스 extends 부모클래스 {
// 필드
// 생성자
// 메소드
}
오버라이딩(Overriding)
- 부모 클래스의 메소드가 자식 클래스에서 사용하기에 부적합할 경우 자식 클래스에서 수정하여 사용
- 메소드가 재정의될 경우 부모 객체 메소드가 숨겨지며, 자식 객체에서 메소드 호출하면 재정의된 자식 메소드가 호출됨
부모 메소드 호출
- 자식 클래스 내부에서 재정의된 부모 클래스 메소드 호출해야 하는 경우
- 명시적으로 super 키워드 붙여 부모 메소드 호출(super.부모메소드();)
final 키워드
- 해당 선언이 최종 상태이며 수정될 수 없음을 의미
- 클래스 및 메소드 선언 시 final 키워드를 사용하면 상속과 관련됨
상속할 수 없는 final 클래스
- 부모 클래스가 될 수 없어 자식 클래스 만들 수 없음을 의미
재정의할 수 없는 final 메소드
- 부모 클래스에 선언된 final 메소드는 자식 클래스에서 재정의 할 수 없음
혼자 공부하는 자바<한빛 미디어> 신용권 지음
'Java' 카테고리의 다른 글
추상 클래스 (0) | 2021.01.11 |
---|---|
타입 변환과 다형성 (0) | 2021.01.11 |
클래스 문제 (0) | 2021.01.11 |
클래스(접근 제한자) (0) | 2021.01.11 |
클래스(인스턴스, 정적) (0) | 2021.01.10 |