[c#] C# 오버로딩을 통한 코드 재활용

C#에서는 메소드나 연산자를 오버로딩(overloading)하여 동일한 이름을 가진 다수의 메소드나 연산자를 정의할 수 있습니다. 이를 통해 코드를 재활용하고 가독성을 향상시킬 수 있습니다.

예를 들어, 동일한 이름을 가진 다수의 생성자를 정의하여 다양한 매개변수로 객체를 초기화할 수 있습니다. 아래는 C#에서 오버로딩을 사용한 생성자의 예시입니다.

public class MyClass
{
    public MyClass()
    {
        // 매개변수가 없는 생성자
    }

    public MyClass(int value)
    {
        // 정수형 매개변수를 받는 생성자
    }

    public MyClass(string text)
    {
        // 문자열 매개변수를 받는 생성자
    }
}

위 코드에서 MyClass 클래스는 세 개의 생성자를 가지고 있으며, 각 생성자는 서로 다른 매개변수를 받습니다. 이를 통해 다양한 방식으로 MyClass 객체를 초기화할 수 있습니다.

또한, 연산자 오버로딩을 사용하여 기존 연산자의 동작을 재정의할 수도 있습니다. 아래는 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#에서의 오버로딩을 통해 코드를 재활용하면서도 명확하고 읽기 쉬운 코드를 작성할 수 있습니다.

참고 자료