Inheritance   상속성

(2019-12-31)

상속

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. 정보은닉
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
            1. 객체지향
            2. 객체지향 프로그래밍
            3. 메세지
            4. 생성자
            5. 접근 제한 수식자
            6. 추상 클래스
            7. 인터페이스
        1.   객체,클래스,인스턴스
        2.   객체지향 원리/특징
          1.   1. 캡슐화
              2. 상속성
              3. 다형성
              4. (동적)바인딩
              5. 정보은닉
        3.   다형태성
        4.   객체지향 모델링
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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