티스토리 뷰

프로그래밍/Java

자바(java) - 클래스 상속

황금비비새 2013. 7. 9. 18:02



상속이란 부모가 보유하고 있는 재산 중 일부를 자식이 물려받는 것을 의미한다.


# 클래스 관계의 종류

  구분

  클래스 관계

 [has a]

  특정 객체 내에서 다른 객체를 가지고 있는 것을 의미한다.

 [is a]

  특정 객체가 다른 객체에게 자신의 능력을 포함시켜주는 상속 관계를 의미한다.


클래스 관계 중 [is a]에 속하는 것이 상속이며 이런 상속에 대한 장점은 부모(super) 클래스의 일부 기능을 자식(sub) 클래스에서 그 어떠한 제재를 받지 않고 사용할 수 있게 한다는 것이다.


# 클래스의 상속

자바 클래스의 상속은 단일 상속이다. 자바에서는 각 객체를 명확하게 구별하기 위해서 정확한 상속 구조를 가지는 것이다.


- 상속 코드의 구성

 class 자식클래스명 extends 부모클래스명{

      ....;

 }


만약, 상속을 받지 않았다면 자바에서의 모든 클래스들은 최상위의 클래스인 java.lang.Object 클래스를 묵시적으로 상속받게 된다.


# 클래스 상속의 중요성

클래스 상속은 객체의 재사용이라는 장점뿐만 아니라 코드의 간결성을 제공해주는 객체지향 언어의 장점과 중요한 특징이 된다.


# 상속되는 멤버의 제한과 은폐

서로 상속관계가 이루어진 super 클래스의 속성과 동작 중 특별하게 private와 같은 예약어로 접근 제한을 정의하지 않은 멤버들에 대해서는 sub 클래스가 마치 자신의 멤버인 것 처럼 사용할 수 있다. 하지만 때에 따라서는 이런 멤버들이 작업환경에 맞지 않는 경우가 있다. 이럴 때 sub 클래스의 멤버를 super 클래스와 같은 이름으로 정의하고 작업에 맞도록 좀더 확장하여 사용할 수 있다. 이 때문에 super 클래스에서는 이름이 같은 멤버가 은폐(숨김)되게 되는데, 이를 '오버라이딩(Overriding) 기법' 이라 한다.




'프로그래밍 > Java' 카테고리의 다른 글

자바(java) - super와 super()  (0) 2013.07.09
자바(java) - 오버라이딩(Overriding)  (0) 2013.07.09
자바(java) - static 예약어  (0) 2013.07.09
자바(java) - this와 this()  (0) 2013.07.09
자바(java) - 생성자  (0) 2013.07.09
댓글