본문 바로가기
개발/JAVA

02. 상속을 이해하기 위한 기본 개념설명

by pastry 2014. 11. 25.

Class의 구성이 되는 코드를 각 역활에 맞게 분류를 해보면 크게

변수 선언부, 상성자, 메소드

이렇게 3 부분으로 나눠볼 수 있다.

위에 코드를 살펴보면 가장 위쪽에 변수(int형으로 number라고)선언을 하고 생성자(객체가 생성될때 한번 실행되는 메소드) 작성부, 그리고 메소드(number를 반환하는)가 있다.

자바는 코드의 재사용을 쉽게 하기위해 상속을 지원하는데, 이미 작성되있는 Class를 생속받아 약간의 수정 혹은 추가후 사용할 수 있게 해주는 기능을 말한다.

아래의 코드를 보자.

Example에서 만든 메소드를 Example을 상속 받은 Example2에서 사용할 수 있다. Example2의 바디에는 아무 코드가 없지만 상속 받아서 가지고 있기 때문이다.

상속을 설명하면서 Overloading과 Overriding의 설명을 안 할 수가 없기에 짧게나마 설명을 하고 넘어가겠다.

Overloading

동일한 이름의 메소드(하지만 형식 지정자;parameter가 다른)를 추가하는것을 말한다.

위에 코드를 보면 메소드의 이름은 똑같지만 입력 받는 값이 다른 메소드를 상속 받은 클래스에 추가했다. 따라서 Example2객체를 생성하면 두 메소드 모두 사용,존재할 수 있다.(객체 생성 방식에 따라 다르지만 일딴은 가능하다고 설명한다.)

 

Overriding

Overriding은 메소드 덮어쓰는 것으로 생각하면 간단하다. 재 정의 한다고 보면 된다. 따라서 입력받는 값(parameter)도 똑같아야 한다.

따라서 Example2에는 메소드가 현재 하나밖에 없다. 상속 받은 메소드를 재정의 했기 때문이다.

 

 

댓글