[Java] 상속의 특징

hwarye·2022년 11월 8일
0

상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것.

class '자손 클래스' extends '조상 클래스'

🟡 상속의 장점

1) 상속을 통해 클래스를 작성할 경우 적은 양의 코드로 새로운 클래스를 작성할 수 있다. 즉, 중복되는 멤버를 미리 부모 클래스에 작성해 놓으면, 자식 클래스에서는 해당 멤버를 작성하지 않아도 된다.
2) 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가, 변경이 용이하다.
3) 클래스 간의 계층적 관계를 구성함으로써 다형성의 문법적 토대를 마련한다.

=> 코드의 재사용성을 높이고, 코드의 중복을 제거하여 프로그램 생산성과 유지보수에 크게 기여한다.


🟡 상속 클래스의 종류

상속해주는 클래스
: '조상 클래스'

					조상 클래스의 또 다른 이름

	'부모(parent)클래스' , '상위(super)클래스' , '기반(base)클래스'

상속 받는 클래스
: '자손 클래스'

					자손 클래스의 또 다른 이름
                    
	'자식(Child)클래스' , '하위(sub)클래스' , '파생된(derived)클래스'

🟡 상속 계층도(class hierarchy, 상속 관계도)

클래스 간의 상속 관계 : 화살표로 표시
자식이 부모님을 바라보고 무언가를 바라는, 요청하는 모습을 화살표로 표현한 것이라고 생각하면 좀 더 쉽다.

자손 클래스는 조상 클래스의 모든 멤버를 상속받기 때문에, Child 클래스는 Parent 클래스의 멤버들을 포함한다.
=> 자손 클래스는 조상 클래스의 모든 멤버를 상속받기 때문에, 항상 조상 클래스보다 같거나 많은 멤버를 갖는다.
=> 상속에 상속을 거듭할수록 멤버의 갯수는 점점 늘어난다.
조상 클래스가 변경되면 자손 클래스는 자동으로 영향을 받지만, 자손 클래스의 변경은 조상 클래스에 아무런 영향을 주지 못한다.


🟡 상속의 특징

1) 생성자와 초기화 블럭은 상속되지 않고 멤버만 상속된다.
2) 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.
3) 클래스의 다중 상속은 불가능하다.

때문에, extends 다음에는 클래스 이름 하나만 지정할 수 있다.

4) 상속의 횟수에 제한이 없다.
5) 계층 구조의 최상위에 java.lang.Object 클래스가 있다.

	자바에서 모든 클래스는 Object 클래스를 자동으로 상속받는다.
    때문에, toString(), equals() ,,, 메소드를 바로 사용할 수 있는 것이다.

cf)
https://danmilife.tistory.com/21
http://www.tcpschool.com/java/java_inheritance_concept

profile
례코드

0개의 댓글