상속 조건 및 특징

CODEDRAGON Development/Java

반응형

   

   

상속을 위한 기본조건

  • 상속관계에 있는 두 클래스 사이에는 IS-A 관계가 성립해야 합니다.
  • IS-A 관계가 성립하지 않는 경우에는 상속의 타당성을 면밀히 검토해야 합니다.
  • IS-A 이외에 HAS-A 관계도 상속으로 표현 가능합니다. 그러나 Composition 관계(구성관계)를 유지하는 것이 보다 적절한 경우가 많습니다.

       

   

   

상속 특징

IS-A 관계

  • 객체간에 IS-A 관계가 성립되어야 합니다.

단일 상속(Single Inheritance)

  • 자바는 단일 상속(Single Inheritance)만 지원합니다
  • 부모 클래스는 여러 자식 클래스를 가질 수 있지만 자식 클래스는 하나의 부모 클래스만 가질 수 있습니다.

부모 클래스를 먼저 객체 생성

  • 클래스 객체가 생성될 때 자동으로 부모 클래스를 먼저 객체 생성 한 후에 자신의 클래스가 생성됩니다.
  • 부모 클래스가 먼저 생성되어야 자식 클래스가 부모의 멤버를 사용할 수 있기 때문입니다.

java.lang.Object클래스

  • JAVA 언어
  • 가장 상위 클래스는 java.lang.Object클래스입니다. 따라서 모든 클래스는 Object 클래스를 상속받게 됩니다.

   

   

상속은 is-a 관계

상속에서 자식 클래스와 부모 클래스는 "~은 ~이다"와 같은 is-a 관계가 있습니다.

자동차는 탈것이다(Car is a Vehicle).

팬더, 사자, 개, 고양이는 동물이다.

   

   

has-a 관계

"~은 ~을 가지고 있다."와 같은 has-a(포함) 관계가 성립되면 이 관계는 상속으로 모델링을 하면 안됩니다.

도서관은 책을 가지고 있다(Library has a book).

거실은 소파를 가지고 있다.

 

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

eclipse 실행 - neon  (0) 2016.09.10
오라클 JDBC 드라이버 다운로드  (0) 2016.09.01
클래스 정의  (0) 2016.08.22
for 반복문 vs while 반복문 비교  (0) 2016.08.16
개발환경 구축 - eclipse를 통한 Java 프로그래밍  (0) 2016.08.09