상속이란 무엇인가?

정소이·2023년 1월 17일
0

OOP를 향해서

목록 보기
3/10

다른 종류의 객체가 공통점을 갖고 있을 때가 있다.
예를 들어, 산악 자전거, 도로 자전거, 2인용 자전거는 모두 자전거의 특성(speed, cadence, gear)을 갖고있다. 그러나 각각 객체들은 다른 추가 기능이 존재한다.
Tandem Bike에는 좌석 두개와 핸들 두개가 있다.
Road Bike에는 드롭 핸들이 있다.
Mountain Bike에는 추가 체인 링이 있어 기어비가 더 낮다.

클래스는 객체지향프로그래밍을 통해서 일반적으로 사용되는 상태와 동작을 다른 클래스에서 상속받을 수 있다.
이제 여기서는 Bicycle이 Mountain Bike, Road Bike, Tandern Bike의 superclass가 된다.
자바에서는 각각 클래스는 하나의 superclass를 가질 수 있고, superclass는 무한한 subclasses를 가질 수 있다.

아래는 Bicycle 클래스를 상속받는 subclass이다.
클래스를 선언할 때, extends 키워드를 사용하면 상속받을 수 있다.

	class MountainBike extends Bicycle {
    
    }
    

이제 MountainBike는 Bicycle의 모든 필드와 메서드를 받으면서, 코드를 고유하게 만드는 기능에만 집중할 수 있다.
그러나 Bicycle 같은 superclass는 subclasses의 소스코드에 표시되지 않기때문에 각 superclass의 상태와 동작을 적절히 문서화해야한다.

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

profile
프로그래밍 학습에 왕도는 없다! 내가 컴퓨터를 닮아갈때까지!

0개의 댓글