[Java] 5. 1 상속

출간일 2016년 11월 28일

판매가 2000원

형태 ebook

학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.

언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.


5. 1 상속

 

Java 언어에서는 여러 클래스의 공통점을 기반 클래스에 정의하고 파생 클래스를 정의할 때 기반 형식에서 확장하여 추가 및 변경할 수 있습니다. UML에서는 기반 클래스와 파생 클래스 사이에 삼각형과 실선으로 상속을 일반화 관계로 표현하며 “피아니스트는 음악가이다.”처럼 두 형식 사이에 “이다.(is a)”로 나타낼 수 있을 때 사용합니다.

[그림 5.1] UML에서 일반화 관계

[그림 5.1] UML에서 일반화 관계

 

Java 언어에서는 파생 클래스를 정의할 때 어떤 형식을 기반으로 할 것인지 extends 키워드를 이용하여 표현합니다.

 

class 파생 클래스명 extends 기반 클래스명{

}

 

예를 들어 음악가 형식에 “연주하다.” 메서드를 정의하고 음악가 형식을 기반으로 파생 클래스 피아니스트를 정의하면 피아니스트 형식은 기반 형식에 정의한 멤버를 상속받습니다. 따라서 피아니스트 개체의 “연주하다.” 메서드를 호출할 수 있다는 것입니다.

[소스 5.1] Musician을 기반으로 파생 클래스 Pianist를 정의하여 상속을 활용한 예

실행 결과


5.1.1 super 키워드를 이용한 기반 형식부분 생성

5.1.2 메서드 재정의(override)

5.1.3 필드 재정의(override)

5.1.4 접근 지정자 protected