[c#] C# 오버로딩의 실제 활용 예시

C#에서는 메서드나 연산자를 오버로딩하여 동일한 이름 또는 연산자 기호를 사용하면서 다양한 매개변수나 타입을 지원할 수 있습니다. 이를 통해 코드의 가독성을 높이고 일관성을 유지할 수 있습니다. 아래 예시를 통해 C#에서의 오버로딩의 실제 활용을 살펴보겠습니다.

메서드 오버로딩

가장 흔한 오버로딩의 예시는 메서드에 대한 오버로딩일 것입니다. 예를 들어, 우리는 두 개의 정수를 더하는 메서드를 정의할 수 있습니다.

public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }
    
    public double Add(double a, double b)
    {
        return a + b;
    }
}

위 예시에서 우리는 Add 메서드를 정수형과 실수형 매개변수에 대해 오버로딩하여 정의하였습니다. 이를 통해 우리는 정수나 실수를 입력으로 받아들일 수 있으며, 각각에 맞는 메서드가 호출됩니다.

연산자 오버로딩

C#은 연산자 오버로딩을 지원하여 사용자 지정 연산을 정의할 수 있습니다. 아래 예시는 특정 클래스에 대해 덧셈 연산자를 오버로딩한 것입니다.

public class Vector
{
    public int X { get; set; }
    public int Y { get; set; }

    public static Vector operator +(Vector v1, Vector v2)
    {
        return new Vector { X = v1.X + v2.X, Y = v1.Y + v2.Y };
    }
}

위 코드에서 + 연산자를 오버로딩하여 두 개의 Vector 객체를 더할 수 있습니다.

이러한 오버로딩을 통해 우리는 가독성을 높일 수 있고, 코드를 일관성 있게 유지할 수 있습니다.

요약

C#에서의 오버로딩은 다양한 예시에서 활용될 수 있습니다. 메서드의 매개변수나 연산자 등을 오버로딩하여 다양한 입력 조건에 대해 유연하게 대처할 수 있습니다.

참고 문헌: