Inheritance   상속성

(2020-08-08)

상속

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

Top > [기술공통]
[기초과학]
[진동/파동]
[전기전자공학]
[방송/멀티미디어/정보이론]
[통신/네트워킹]
[정보기술(IT)]
[공학일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램, 프로그래밍
[프로그래밍 언어론]
[프로그래밍 방법론]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
프로그래밍언어 종류 >   1. 프로그래밍 언어
[C]
[C++]
[자바(Java)]
[자바스크립트]
[PHP]
[파이썬]
[(기타 언어)]
C++   1. C++ 언어
  2. C++ 자료형
  3. 네임스페이스
  4. 상속성
  5. 템플릿

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

  ㅇ 상위/부모 클래스의 특성을 하위/자식이 상속(이어) 받아서,
     - 기존에 정의된 특성(프로퍼티,메소드)을 재사용하고,
     - 이에 추가/확장/개선 하는 것


2. [객체지향]  상속의 잇점코드의 `재사용` 
  ㅇ 기능의 `추가/확장/개선/재정의 등`
  ㅇ 클래스 간에 `계층적인 관계짓기`
  ㅇ 중복 코드를 없애 `유지보수성`이 좋아짐


3. [객체지향]  클래스의 상속 (Class Inheritance)

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

  ㅇ 상속 받는 하위 클래스 
     - 명칭 : 유도 클래스, 파생 클래스, 서브 클래스, 자식 클래스 (Derived Class, Sub Class, 
              Child Class) 라고 함

  ㅇ 사용 문법 例) 
     - (Java) class 자식클래스명 extends 부모클래스명 { }
     - (C++)  class 자식클래스명 : 접든제어지시자 부모클래스명 { }

  ※ 상속시 다음 사항들이 일어남
     - 자식클래스의 인스턴스 생성시, 부모클래스의 생성자가 호출됨
     - 자식클래스는 부모클래스의 멤버에 접근이 가능
     - 자식클래스의 인스턴트를 통해 부모클래스의 메서드를 호출 가능

  ※ 결국, 자식클래스는, 부모클래스로부터,
     - 상속 받은 프로퍼티메소드를 사용 가능하고,
     - 메소드,속성을 수정하거나 새롭게 추가할 수 있음


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

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

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

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


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

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


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

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