[c#] C# 연산자 오버로딩

C#에서는 연산자 오버로딩(operator overloading)을 지원합니다. 이는 클래스나 구조체의 인스턴스에 대해 사용자가 정의한 연산자를 사용할 수 있도록 하는 기능입니다.

연산자 오버로딩의 사용

연산자 오버로딩은 일반적으로 두 가지 방법으로 사용합니다.

  1. 이미 정의된 연산자를 사용자가 정의한 클래스나 구조체에 대해 새로운 의미로 재정의할 수 있습니다.
  2. 사용자가 정의한 연산자를 사용하여 특정한 기능을 수행하도록 할 수 있습니다.

사용자가 정의한 연산자 오버로딩

C#에서는 다음 연산자에 대해 오버로딩을 지원합니다.

코드 예제

다음은 사용자가 정의한 클래스에 대해 덧셈 연산자를 오버로딩하는 예제입니다.

public class MyNumber
{
    public int Value { get; set; }

    public MyNumber(int value)
    {
        Value = value;
    }

    public static MyNumber operator +(MyNumber a, MyNumber b)
    {
        return new MyNumber(a.Value + b.Value);
    }
}

위의 예제에서는 MyNumber 클래스에 + 연산자를 오버로딩하여 사용자가 정의한 방식으로 덧셈 연산이 수행될 수 있도록 하였습니다.

참고 자료