Programming/Java

상속 (Inheritance)

Data Engineer 2015. 6. 22. 00:00

상속의 정의


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

Why?

  • 재사용성
  • 코드 중복 제거
  • 생산성 및 유지 보수 용이

자바의 상속

자바에서는 상속받고자 하는 클래스의 이름을 extends 키워드를 사용하여 상속을 수행한다.

class Super {}
class Sub extends Super {}

상속 관계를 그림으로 표현하면 아래의 Figure 1과 같다.


Figure 1. 상속 관계도

단일 상속 (Single inheritance)

자바에서는 단일 상속만 허용한다. C++에서는 이와 다르게 다중 상속(Multiple inheritance)를 허용하지만 자바에서는 단일 상속만을 허용하는 이유는 다음과 같다.

  • 클래스 간의 관계가 복잡해짐
  • 서로 다른 두개의 클래스로부터 상속을 받은 멤버간의 이름이 같은 경우 구별하기 어려움 (C++에서는 이 문제를 다른 방식으로 허용)
  • 클래스 간의 관계가 보다 명확해짐


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

다형성 (Polymorphism)  (0) 2015.07.12
제어자(Modifier)  (0) 2015.06.28
오버라이딩 (Overriding)  (0) 2015.06.24