[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#에서의 오버로딩은 다양한 예시에서 활용될 수 있습니다. 메서드의 매개변수나 연산자 등을 오버로딩하여 다양한 입력 조건에 대해 유연하게 대처할 수 있습니다.
참고 문헌:
- Microsoft Docs, “연산자 오버로딩 (C# 프로그래밍 가이드)” (https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/statements-expressions-operators/overloadable-operators)