본문 바로가기
Java

상속 (Inheritance)

by 우 석 2024. 1. 9.

상속

객체 지향 프로그램에서 부모 클래스의 필드와 메서드를 자식 클래스에게 물려줄 수 있습니다.

부모 클래스(상위 클래스)와 자식 클래스(하위 클래스)가 있어 자식 클래스는 부모 클래스의 멤버를 상속받아 사용할 수 있습니다.

 

정의

  • 클래스 간의 상속은 extends 키워드를 사용하여 정의할 수 있습니다.
public class 자식클래스 extends 부모클래스 {
}

 

상속을 사용하는 이유(장점)

  • 적은 양의 코드로 새로운 클래스를 작성할 수도 있고 공통적인 코드를 관리하여 코드의 추가와 변경 이 쉬워질 수도 있습니다.
  • 즉, 상속을 사용하면 코드의 중복이 제거되고 재사용성이 크게 증가하여 생산성과 유지보수성에 매우 유리해집니다.

 

조건

  • 부모 클래스에 새로운 필드와 메서드가 추가되면 자식 클래스는 이를 상속받아 사용할 수 있습니다.
  • 자식 클래스에 새로운 필드와 메서드가 추가되어도 부모 클래스는 어떠한 영향도 받지 않습니다.
  • 따라서 자식 클래스의 멤버 개수는 부모 클래스보다 항상 같거나 많아야 합니다.
  • 상속관계 : is - a (”~은 ~(이)다”)

 

다중 상속을 허용하지 않는 이유

Java는 다중상속을 허용하지 않습니다.
다중상속을 허용하게 되면 클래스 간의 관계가 복잡해지는 문제가 생기기 때문입니다.
만약 자식 클래스에서 상속받는 서로 다른 부모 클래스들이 같은 이름의 멤버를 가지고 있다면, 자식 클래스에서는 이 멤버를 구별할 수 있는 방법이 없다는 문제가 생깁니다.

'Java' 카테고리의 다른 글

Map의 Value로 Class ? 𖦹 ˍ 𖦹  (0) 2024.01.11
Java 문자열 처리 이해: String vs. StringBuffer vs. StringBuilder  (0) 2024.01.10
접근 제어자 (Access Modifier), Getter, Setter  (0) 2024.01.08
List  (0) 2024.01.05
메서드(method)  (0) 2024.01.04