Polymorphism, Polymorphic   다형태성, 다형성, 동질이상, 동질이형

(2019-05-27)

오버로딩 오버라이딩 비교

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

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

1. 다형태성 (Polymorphism)

  ㅇ [일반]  여러 다른 형태나 모양을 가질 수 있는 능력

  ㅇ [물질]  동질이상
     - 동일 물질이 1 이상의 다른 결정구조를 갖는 현상
        . 압력이나 온도가 다른 조건하에서 1 이상의 다른 결정 형태로 존재

  ㅇ [객체지향]  프로그램문맥에 따라 여러 다른 형태나 동작을 할 수 있는 능력


2. [객체지향]  다형태성프로그램문맥에 따라 적당한 연산자메소드를 골라 쓸 수 있게 함
      - 각 객체(Object)가 동일한 메세지이벤트에 대해서 다르게 반응, 행동하는 능력
         . 같은 연산에 대해서도 서로 다른 클래스들이 다른 동작을 할 수 있는 능력

   ㅇ 다형성 특징
      - 동일 명칭 부여 가능
         . 실제 동작은 다르더라도 개념적으로 같은 작업을 하는 메소드들에 똑같은 명칭 부여
            .. 동일 이름으로 많은 다른 유형의 데이터를 처리하거나,
               하나의 코드로 여러 유형의 데이터를 처리하는 등

      - 다형성 지원 시점
         . C++ 언어에서는, 컴파일시 및 실행시에 다형성을 지원

      - 다형성 발생 사례
         . 주로, 상속성(상속 관계)에 의해 발생됨

   ㅇ 객체지향 프로그래밍에서 다형성 例
      - 이질적인 요소들의 리스트를 지원할 수 있음
         . 한편, 동질의 요소들에 대한 리스트는, ☞ 배열 참조
      - 오버로딩, 오버라이딩

   ㅇ [참고용어] ☞ 상속성, 동적 바인딩, Overriding, Overloading 등 참조


3. [객체지향]  오버로딩, 오버라이딩 비교오버라이딩 (Overriding)
     - 상속 관계에서 만 가능
     - 사전적 의미로써, 위에 덮여쓰다라는 뜻을 갖음
     - 주로, 메소드의 구현내용을 하위 클래스에서 바꾸기 위하여 사용
        . 상위 클래스로부터 상속 받은 메서드의 내용을 자신에 맞게 변경(재정의)하는 것
        . 즉, 부모 클래스에서 개략 정의된 동작을, 자식 클래스에서 좀 더 구체화시켜
              재정의(오버라이딩)하는 것
     - 조건 : 메소드명,인수타입,인수의 개수,리턴 타입 모두 동일 해야 함
     - 바인딩 방식 : 동적 바인딩 (실행시에 결정)

  ㅇ 오버로딩 (Overloading)
     - 동일 클래스 내 또는 상속 관계 둘 다 가능
     - 주로, 클래스 상속시에, 기존에 없던 새로운 메서드를 추가하는 것
        . 어떤 메소드의 구현내용을 다양하게, 다른 형태로 동시에 제공키 위해 사용
     - 조건 : 메소드명 만 같으면 됨
     - 바인딩 방식 : 정적 바인딩 (컴파일시에 결정)


[다형태성] 1. 다형성 2. 오버라이딩 3. 오버로딩
  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.   객체지향 원리/특징
        3.   다형태성
          1.   1. 다형성
              2. 오버라이딩
              3. 오버로딩
        4.   객체지향 모델링
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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