Overloading   오버 로딩, 중복 정의, 다중 정의

(2023-10-01)

Overload, 과 부하, 함수 오버로딩, 메소드 오버로딩, 연산자 오버로딩


1. 오버로딩(Overloading) 이란?

  ㅇ [일반]  과적(過積) 또는 과 부하(過負荷)
     - 즉, 필요 이상으로 많이 싣는 것을 의미
        . 例) 설계 한계를 넘어선 하중 등
 
  ㅇ [프로그래밍]                                     ☞ 다형태성 참조
     - 같은 이름,표기가, 프로그램문맥에 따라, 여러 다른 형태나 동작을 할 수 있는 능력
        . 여러 다른 동작들에 동일 이름을 부여할 수 있게 하는 것


2. [프로그래밍]  오버로딩(Overloading)

  ㅇ [연산]  연산자 오버로딩 (Operator Overloading)
     - 동일 연산자 표기 이라도, 
        . 여러 다른 자료형의 값들에 대해 다르게 정의되어 있어서,
        . 피 연산자 자료형을 판별하여, 이에 맞게 정의된 연산 기능을 가져다 씀
     - 결국, 같은 연산에 대해서도 여러 클래스들이 서로 다른 동작을 할 수 있는 능력
     - 例) 정수형,실수형,복소수형 끼리의 덧셈은, 실제 내부 연산 동작은 무척 다름
        . 그러나, 같은 덧셈 기호 + 를 쓸 수 있으면, 사용자에게 논리적 일관성과 편의성을 줌

  ㅇ [명령형 프로그래밍]   함수 오버로딩 (Function Overloading)
     - 같은 이름을 갖으나, 인수자료형,인수의 수,인수의 나열 순서가 다른 여러 함수들
        . 즉, 인수(파라미터) 구성이 다르나, 같은 이름의 함수를 쓸 수 있음
        . 결국, 같은 함수명으로써 구현이 다른 여러 함수를 작성할 수 있음
        . 오버로딩된 함수들은 인수 구성의 차이로써 식별이 됨

  ㅇ [객체지향 프로그래밍]  메소드 오버로딩 (Method Overloading)
     - 통상, 클래스 내 보통 하나의 메서드 이름에 하나의 기능 만을 구현하는데, 
        . 하나의 메서드 명으로 여러 기능/연산들을 구현하기 때문에 이름 붙여짐
     - 즉, 하나의 클래스 내 또는 상속 관계에 있는 클래스들 간에,
        . 같은 이름을 갖는 메소드가 다른 작업을 할 수 있게 함
     - 하나의 클래스 내에 동일한 이름의 메소드가 존재하거나,
        . 혹은, 하위 클래스에서 상위 클래스에 있는 `같은 이름의` 메소드를 재 선언하여 사용하는 것
     - 메소드명 만 같고, 인수타입이나 인수의 수가 다름

  ※ 오버로딩, 오버라이딩 비교 ☞ 오버로딩 오버라이딩 비교 참조
     - 오버라이딩(Overriding) : 상속 관계에서 만 가능
     - 오버로딩(Overloading)  : 동일 클래스 내 또는 상속 관계 둘 다 가능

다형태성
   1. 다형성   2. 오버라이딩   3. 오버로딩  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"