BE/JAVA

[JAVA] 상속(inheritance)의 개념 _ extends

콩다영 2020. 8. 26.

목차

728x90

자바 class에서 사용되는 상속의 개념에 대해 이해해보자 ! 

개념부터 제대로 알고 사용하자는 의미에서 ... zz

 

 

 

 

 

 

 

 


상속이란,

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

 

 

상속을 통해서 클래스를 작성하면 적은 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로 관리할 수 있기 때문에

코드의 추가 및 변경이 매우 편리해져서 생산적인 코딩을 할 수 있게 된다 ! 

 

 

 

 

 

 

 

상속 구현 방법을 보자 !

새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 'extends'와 함께 써주면 된다.

class Child extends Parent {
	// to do
}

여기서 상속받는다는 것은 Parent 클래스를 확장(extend)한다는 의미로 해석한당 -!!

 

 

 

 

 

자바 class를 사용하면서 상속의 개념에 대해 제대로 알지 않고 사용해서 헷갈렸는데

다음과 같이 비교해보면 이해가 좀 더 잘 될 것이다.

 

상속관계 : '~은 ~이다.(is-a)'

포함관계 : '~은 ~을 가지고 있다.(has-a)'

 

음... 상속개념과 포함개념이 은근 헷갈리니 직접 예시를 들어보자 !  

class Car {
	Wheel w = new Wheel();
}

class Sonata extends Car {
	//to do
}

 상속, 포함 관계를 따져보자.

: Sonata는 Car이다 (is-a) - 상속관계

: Car는 Wheel을 가지고 있다.(has-a) - 포함관계 

 

 

 

 

 

 

 

추가적으로 알아둬야하는 점이 JAVA 상속은 단일 상속만 가능하다는 것이다 ! 물론 다중 상속을 하면 좋겠지만,,,,

클래스간의 관계가 매우 복잡해지고, 서로 다른 클래스로부터 상속받은 멤버간의 이름이 같은 경우 구별할 수 있는 방법이 없다는 단점이 발생한다 ! 기억해두자 !!!

 

 

상속, 이젠 알고 사용하자 !     3 :-)

 

 

 

 

728x90
반응형

댓글