본문 바로가기

IT/Java

상속(extends), 상속의 장점, 클래스 상속 구조

상속(extends)

 - 클래스들 사이에 관계를 설정하는 것

 - 클래스의 자원 즉, 메소드나 속성 등을 전달해 주는 것을 의미

 - 사용법: [제어자] class [클래스 이름] extends [부모 클래스 이름]

 - 사용하는 가장 큰 이유는 소스의 재활용

 - 상속기법을 적용하는 과정: 객체의 추상화->공통점 추출->공통객체생성->is-a 법칙 검증-> 상속적용

 

상속의 장점

 1. 코드를 재활용함으로써 간소화된 클래스 구조

 2. 클래스의 기능 테스트에 대한 생산성 및 정확성 증가

 3. 클래스 수정/추가에 대한 유연성 및 확장성 증가

 

상속 기법을 사용할 때 지켜야하는 규칙

 1. 자식 클래스는 단 하나의 부모 클래스로부터 상속받은 수 있다(다중 상속 금지)

 2. 상속받는 자식 클래슨느 다른 클래스의 부모 클래스가 될 수 있다.

 3. 부모 클래스에 자식 클래스와 동일한 이름의 변수나 메소드가 있다면 자식 클래스의 것이 우선이다.

 4. 부모 클래스 속성과 메소드 중에서도 접근 제어자에 의해서 상속의 범위가 달라진다.

 5. 제어자 중에서 static 메소드나 속성도 상속 가능하다.

 

 * 클래스의 조상, Object 클래스

 - 자바의 최상위 클래스는 Object이며, 모든 클래스는 Object 클래스를 상속받는다.

 

 * 이클립스에서 클래스 상속 구조를 파해쳐보자

 1) 먼저 상속 구조를 보고 싶은 클래스를 클릭하고 오른쪽 마우스 버튼 클릭->Open Type Hierarchy 클릭

 2) Object -> PersonValue -> PatientValue 가 있으면..

    PatientValue는 PersonValue 클래스를 상속받고, PersonValue는 최상위 Object 클래스를 상속 받음