[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#에서의 오버로딩을 통해 코드를 재활용하면서도 명확하고 읽기 쉬운 코드를 작성할 수 있습니다.