여기서 주목해야 할 중요한 점은 일단 바이너리 연산자 +가 있으면 해당 연산자 즉 +=에 대한 복합 할당 연산자(+=)를 구현하면 이 연산자 즉, +이 경우 구현된다는 것입니다. 오버로드된 연산자는 정적으로 선언되더라도 파생된 클래스에 상속됩니다. 연산자 선언은 항상 연산자가 선언된 클래스 또는 구조체가 필요하므로 연산자의 서명에 참여해야 하므로 파생 클래스에서 선언된 연산자가 기본 클래스에서 선언된 연산을 숨길 수 있습니다. 따라서 새 수정자는 필요하지 않으며 연산자 선언에서는 허용되지 않습니다. 간단한 접두사 unary 연산자는 하나의 매개 변수를 사용하는 함수에 의해 정의될 수 있습니다. 컴파일러는 `-object1`을 다음과 같이 해석합니다: 연산자 오버로드의 필요성을 이해하려면 프로그램에서 행렬 수학 연산을 수행해야 한다고 가정합니다. 몇 가지 2차원 배열을 인스턴스화하고 필요한 작업을 수행할 수 있습니다. 그러나 행렬 동작을 다시 사용할 수 있도록 요구 사항을 추가합니다. 다른 프로그램에서도 동일한 작업을 수행해야 하고 이미 코드를 작성했다는 사실을 활용하려면 새 형식을 만들어야 합니다. 연산자 – () 함수는 멤버 함수를 만들어 클래스와 연결할 수 있습니다.

연산자 – () 함수는 클래스의 개체를 매개 변수로 제공할 수 있습니다. 이렇게 하면 함수와 클래스가 연결됩니다. 구현 세부 정보를 살펴보기 전에 연산자를 오버로드하려는 경우 따라야 할 규칙을 확인할 수 있습니다. 연산자는 함수를 정의하여 오버로드할 수 있습니다. 함수는 연산자 키워드를 사용하여 선언됩니다. 연산자는 컴파일러의 함수로 간주할 수 있습니다. 개발자는 유사한 시그니처로 함수를 오버로드할 수 있습니다. 연산자에 대한 추가 작업을 지정하는 함수를 연산자 함수라고 합니다. 오버로드는 C#의 연산자에게 적용할 수 있습니다. 연산자 오버로드는 사용자 정의 데이터 형식에 적용될 때 C# 연산자에게 추가 기능을 제공합니다. 미리 정의된 C# 연산자 집합은 오버로드될 수 있습니다.

예를 들어 + 연산자 에 오버로드하려면 다음 구문이 정의됩니다. 연산자 구현 시 해당 복합 연산자도 작동합니다. 예를 들어 행렬 형식에 대한 + 연산자가 구현되었기 때문에 Matrix 형식에서 += 연산자도 사용할 수 있습니다. 조건부 논리 연산자는 직접 오버로드할 수 없으며 및 | 을 사용하여 평가할 수 없습니다. C#과 같은 개체 지향 프로그래밍 언어에서 오버로드할 수 있는 연산자 오버로드는 사용자 지정 형식에 대한 작업을 구현하는 훨씬 더 자연스러운 방법을 제공합니다. 복합 번호에 대해 만들어진 클래스가 있고 이 형식에 대한 모든 산술 연산을 수행하려고 한다고 가정합니다. 이 작업을 수행하는 한 가지 방법은 클래스 내부에 추가, 빼기 및 기능이 있는 등의 함수를 사용하는 것입니다. 또 다른 방법은 실제로 이 형식에 대해 작업할 오버로드된 버전의 연산자가 있는 것입니다. 함수의 이름으로 단어 연산자는 합법적이며 연산자에 과부하를 걸 수있는 유일한 방법입니다. 우리는 우리가 오버로드 할 연산자와 다음 매개 변수를 사용하여 이 단어를 따릅니다. + 바이너리 연산자이며 왼쪽에 하나, 오른쪽에 다른 항목이 필요합니다.

그런 다음 처음에는 반환 값을 제공합니다. 연산자의 이 경우 + 두 개의 아이템을 추가하고 세 번째 아이템을 반환하여 개인의 합계가 됩니다. 따라서 +b는 연산자 +를 호출하고 x는 a와 y에서 b로 동일합니다.