본문 바로가기

Language/Java

Java api 일기 3 상속이란?

 각 종류의 물체들은 종종 서로 일정량의 공통점을 가지고 있다.
예를 들어, 산악 자전거, 로드 바이크 및 텐덤 자전거(커플 자전거)는 모두 자전거의 특성(현재 속도, 현재 페달 속도, 현재 기어)을 공유한다.

하지만 각각은 그들을 다르게 만드는 추가적인 특징들을 가지고 있다.

  • 탠덤 자전거는 2개의 좌석과 2개의 핸들 바를 가지고 있다.
  • 로드 바이크는 드롭 핸들 바를 가지고 있다.
  • 어떤 산악 자전거는 그들에게 더 낮은 기어를 주는 추가적인 체인 고리를 가지고 있다.

객체 지향 프로그래밍을 통해 클래스는 일반적으로 사용되는 상태 및 동작을 다른 클래스에서 상속할 수 있다.
위의 예시에서 Bicycle class는 이제 각각의 class들인 MountainBike, RoadBike 및 TambleBike의 슈퍼 클래스가 된다.
Java 프로그래밍 언어에서 각 클래스는 하나의 직접적인 슈퍼 클래스(부모)를 가질 수 있으며, 각 슈퍼 클래스는 무제한하위 클래스(자식)를 사용할 수 있다.

하위 클래스를 만드는 구문은 간단하다.
클래스 선언 시작 부분에 extends 키워드와 상속할 클래스 이름을 차례로 적어준다.

class MountainBike extends Bicycle {

// 산악 자전거를 정의하는 새 필드 및 메소드 // 여기에 입력

}

이것은 Bicycle의 모든 동일한 필드와 메소드를 MountainBike에게 제공하면서, MountainBike를 고유하게 만드는 기능에만 집중 할 수 있다.
이렇게 하면, 하위 클래스의 코드를 쉽게 읽을 수 있다.
그러나 각 슈퍼 클래스가 정의하는 상태행동을 적절히 문서화해야한다.
해당 코드는 각 서브 클래스의 소스 파일에 나타나지 않기 때문이다.

 

출처 : docs.oracle.com/javase/tutorial/java/concepts/inheritance.html

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

Java api 일기 6 연산자 요약  (0) 2021.01.18
Java api 일기 5 패키지란?  (0) 2021.01.18
Java api 일기 4 인터페이스란?  (0) 2021.01.18
Java api 일기 2 클래스란?  (0) 2021.01.17
Java api 일기 1 객체란?  (0) 2021.01.17