[c#] 클래스의 확장 메서드
C#은 확장 메서드(extension method)를 사용하여 기존 클래스에 새로운 메서드를 추가할 수 있는 기능을 제공합니다. 확장 메서드를 사용하면 .NET 프레임워크의 기본 클래스나 사용자 정의 클래스에 쉽게 새로운 메서드를 추가할 수 있습니다. 이는 기존 클래스의 소스 코드를 변경하지 않고 확장하여 클래스의 기능을 향상시킬 수 있는 장점이 있습니다.
확장 메서드의 작성 방법
확장 메서드를 작성하려면 다음의 조건을 충족해야 합니다.
- 확장 메서드를 작성하는 클래스는 정적 클래스여야 합니다.
- 첫 번째 매개변수는 this 키워드를 사용하여 해당 클래스의 인스턴스를 지정해야 합니다.
아래는 string 클래스에 대해 ToTitleCase() 메서드를 추가하는 확장 메서드의 예제입니다.
using System;
using System.Globalization;
public static class StringExtension
{
public static string ToTitleCase(this string input)
{
return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input);
}
}
확장 메서드의 사용 방법
확장 메서드를 사용하려면 해당 메서드가 정의된 이름 공간(네임스페이스)을 using
문으로 가져와야 합니다. 그런 다음 해당 메서드를 일반적인 인스턴스 메서드처럼 호출할 수 있습니다.
using System;
public class Program
{
public static void Main()
{
string input = "hello, world";
string result = input.ToTitleCase();
Console.WriteLine(result); // 출력: Hello, World
}
}
결론
확장 메서드는 기존 클래스의 기능을 확장하고 개선하기 위한 강력한 도구로, 코드의 가독성을 높이고 유지보수를 용이하게 합니다. 이를 통해 C# 개발자들은 기존 클래스를 수정하지 않고도 쉽게 새로운 기능을 추가할 수 있습니다.
확장 메서드를 적절하게 활용하여 더욱 강력하고 유연한 코드를 작성할 수 있도록 노력해보세요!
참고 문헌
- Microsoft 문서: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods