차례:
정의-연산자 오버로딩이란 무엇입니까?
연산자 오버로딩은 프로그래밍 언어에 사용 된 연산자가 전달 된 인수 유형을 기반으로하는 사용자 정의 논리를 사용하여 사용자 정의 유형으로 구현되는 기술입니다.
연산자 오버로딩은 하나 또는 두 피연산자가 사용자 정의 클래스 또는 구조 유형 인 작업에 대한 사용자 정의 구현의 스펙을 용이하게합니다. 이를 통해 사용자 정의 형식이 기본 기본 데이터 형식과 매우 유사하게 작동 할 수 있습니다. 연산자 오버로드는 특정 유형에 사용되는 연산자가 프로그래밍 언어에서 볼 수있는 도메인 컨텍스트 및 구문 지원과 관련된 의미를 제공하는 경우에 유용합니다. 구문상의 편의성, 가독성 및 유지 관리 성을 위해 사용됩니다.
Java는 내부적으로 + 연산자를 오버로드하는 문자열 연결을 제외하고 연산자 오버로드를 지원하지 않습니다.
Techopedia는 운영자 과부하를 설명합니다
연산자는 표현식에서 연산자 표기법을 사용하고 선언에서 함수 표기법을 사용하여 참조됩니다. 사용자 정의 연산자 선언을 사용하여 연산자의 구문, 우선 순위 및 연관성을 변경할 수 없습니다.
예를 들어 C #의 연산자는 수행하는 작업 유형에 따라 분류됩니다. 이들 중 일부는 정적 멤버 함수에서 정의하고 operator 키워드를 사용하여 사용자 정의 유형으로 오버로드됩니다. 연산자 함수의 매개 변수는 피연산자를 나타내고, 연산자 함수의 리턴 유형은 연산 결과를 나타냅니다. "=="및 "! ="와 같은 비교 연산자와 같이 연산자에 대해 오버로드가 쌍으로 구현됩니다. 컴파일러 경고를 피하기 위해 이러한 연산자에 대한 Equals () 메서드를 재정의해야합니다. 조건부, 논리 (및 !!), 할당 (+ =, -= 등), 캐스팅 및 배열 인덱싱 ()과 같은 연산자에는 과부하를 사용하지 않습니다.
오퍼레이터의 기본 구현에서 직관적으로 예상되는 결과가 생성되도록 오퍼레이터 과부하를 구현하는 것이 좋습니다. 두 개의 피연산자가있는 표현식에 적용 할 수있는 정류 법과 같은 특정 수학 규칙은 숫자 피연산자에 대해서만 정의되므로 유형에 대한 오버로드에 사용될 때는 적용 할 수 없습니다.
