상속의 정의:
- 객체 지향 프로그래밍의 핵심 요소 중 하나이다.
- 자식 클래스가 부모 클래스의 필드와 메서드를 사용할 수 있게 해준다.
상속의 목적:
- 적은 코드로 새 클래스를 작성하게 해준다.
- 코드 재사용을 통한 중복 제거가 가능하다.
- 공통 코드의 중앙 관리를 통해 추가 및 변경 용이하다.
상속의 장점:
- 코드의 재사용성이 높아진다.
- 중복 제거로 인한 생산성 향상 및 유지보수가 용이하다.
상속의 구현:
public class 자식클래스 extends 부모클래스 {
}
클래스 관계:
- 상속 관계: 예) a는 사람이다.
- 포함 관계: 예) b는 자동차를 가지고 있다.
단일 상속 vs 다중 상속:
- Java는 다중 상속을 지원하지 않는다.
- 다중 상속이 복잡성을 초래하며, 이름 충돌 문제 발생 가능성이 있다.
final 클래스와 메서드:
final
클래스: 더 이상 상속이 불가능한 클래스이다.
final
메서드: 오버라이딩이 불가능한 메서드이다.
Object 클래스:
- 모든 Java 클래스의 최상위 클래스이다.
- 부모 클래스가 지정되지 않은 클래스는
Object
클래스를 자동으로 상속받는다.