Inheritance   상속성

(2019-05-23)

상속

1. [객체지향]  상속성 (Inheritance)

  ㅇ 상속 이란?
     - 상위/부모 클래스의 특성을 하위/자식이 상속(이어) 받아서,
        . 기존에 정의된 특성(프로퍼티,메소드)을 재사용하고,
        . 이에 추가/확장 가능하게 하는 것
     - 따라서, 클래스 간에 계층적인 관계짓기가 가능하고, 
        . 이를통해, 재사용성 등의 잇점을 줌

  ㅇ 프로그램(객체지향 프로그래밍)에서 상속을 하는 이유
     - 코드의 `재사용` 및 `확장(새로운 기능의 추가,기존 기능의 재정의 등)`
     - 결과적으로, 중복 코드를 사용하지 않게되어 유지보수성이 좋아짐


2. [객체지향]  상속성 특징

  ㅇ 상속은 한 클래스가 다른 클래스로부터 모든 동작과 속성을 물려 받도록 하는 매커니즘
     - 이를 통해 기존 클래스를 재사용하거나, 심지어 기능의 추가 및 향상이 가능

  ㅇ 간단히 말해, 어떤 클래스 안에서 정의된 변수/데이터와 메소드를,
     - 다른 클래스에서 그대로 사용 및 기능의 추가, 향상을 할 수 있게하는 것


3. [객체지향]  상속의 구분

  ㅇ 단일 상속 (Single Inheritance)
     - 오직 하나의 클래스 만을 상위 클래스로 할 수 있음
        . 단일 상속의 그래프 형태는 트리(Tree) 구조로 표현됨

  ㅇ 다중 상속 (Multiple Inheritance)
     - 하나의 클래스가 여러 개의 클래스를 상위 클래스로 할 수 있는 상속구조임
        . 클래스 래티스(Class Lattice)라고도 함

  ※ 한편, C++은 다중 상속을 지원하나, Java는 지원하고 있지 않음
     - 대신, 자바에서는 인터페이스 클래스를 제공 


4. [객체지향]  클래스 상속 (Class Inheritance) 용어

  ㅇ 상속하는 원본 클래스
     - 명칭 : 기초 클래스, 기반 클래스, 상위 클래스, 슈퍼 클래스, 부모 클래스 (Base Class,
              Super Class, Parent Class) 라고 함

  ㅇ 상속 받아 만들어진 클래스 
     - 명칭 : 유도 클래스, 파생 클래스, 서브 클래스, 자식 클래스 (Derived Class, Sub Class, 
              Child Class) 라고 함

  ※ 사용 문법 예) class 자식클래스명 extends 부모클래스명 { }
     - 자식클래스는 부모클래스로부터,
        . 상속 받은 프로퍼티메소드를 사용 가능하고,
        . 메소드,속성을 수정하거나 새롭게 추가할 수 있음


5. [객체지향]  다형태성

  ※ ☞ 다형태성 참조
     - Override (연산의 재정의). Overload (연산다중정의)


[객체지향 원리/특징] 1. 캡슐화 2. 상속성 3. 다형성 4. (동적)바인딩 5. 정보은닉

 
        최근수정     요약목록     참고문헌