본문 바로가기
Programming/Java

[Java] 상속이란?

by hongchii 2021. 3. 8.
728x90
반응형

 

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

 

상속을 통해서 클래스를 작성하면 코드의 추가 및 변경이 용이하다.

- 자손 클래스는 조상 클래스의 모든 멤버를 상속 받으므로 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.

- 멤버만 상속된다.

- 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다.

- 자바는 단일 상속만 허용한다.

- 모든 클래스의 조상은 Object클래스이다.

 

 

// 클래스의 이름 뒤에 'extends 상속받을 클래스명'을 써주면된다.
calss Child extends Parent{
	
}

 

조상 클래스 부모클래스(parent) 상위클래스(super) 기반클래스(base)
자손 클래스 자식클래스(child) 하위클래스(sub) 파생된클래스(derived)

 

 

 

 

무조건 상속을 하는게 아니라 적절히 관계를 맺어주는것이 객체지향 프로그래밍에서 가장 중요한 부분이다.

 

쉽게 아래와 같이 생각하면 된다.

 

~은 ~이다 ---> 상속관계

~은 ~가지고 있다 ---> 포함관계

 

 

예를들어

1. 원(Circle)은 점(point)이다.  
2.원(Circle)은 점(point)을 가지고 있다. 

둘 중에 2번이 맞는 문장이다. 그럼 원과 점은 포함관계로 설계해야한다.

 

 

1. Car는 SportsCar이다. 
2. Car는 SportsCar를 가지고 있다.

둘 중에 1번이 맞는 문장이다. 그럼 Car와 SportsCar는 상속관계로 설계해야한다.

 

 

1. Deck은 Card이다.
2. Deck은 Card를 가지고 있다.

둘 중에 2번이 맞는 문장이다. Deck과 Card는 포함관계로 설계해야한다.

 

 

 

 

 

 

 

더보기

출처, 자바의정석

728x90
반응형

'Programming > Java' 카테고리의 다른 글

[Java] Lombok(롬복) 라이브러리 설치하기  (0) 2021.04.08
[Java] 접근제어자  (0) 2021.03.10
[Java] Math.max() 와 Math.min()  (0) 2021.03.07
[Java] 변수의 초기화  (0) 2021.03.07
[Java] 아스키코드  (0) 2021.03.07

댓글