49.4 확장 메서드를 사용하여 형식에 메서드 추가하기
다음 코드의 Original 클래스는 아무 멤버도 갖지 않은 클래스이지만, OriginalExtension 클래스에서 NewMethod()를 참조해서 새로운 메서드를 추가하여 사용할 수 있습니다.
확장 메서드를 사용하여 형식에 메서드 추가: ExtensionMethodNote.cs
using System; public class Original { /* Empty */ } public static class OriginalExtension { public static void NewMethod(this Original original) => Console.WriteLine("새로운 메서드 추가"); } class ExtensionMethodNote { static void Main() { (new Original()).NewMethod(); //확장 메서드 호출 } }
실행 결과
새로운 메서드 추가
참고로 비주얼 스튜디오에서는 NewMethod()를 작성할 때 인텔리센스에서 아이콘을 확인해 보면 일반적인 메서드 아이콘과는 모양이 다릅니다.
LINQ에서 제공하는 수많은 메서드는 확장 메서드로 구성되어 있습니다. 이러한 확장 메서드만 사용해도 일반적인 프로그래밍은 가능합니다. 이 강의에서는 이미 있는 확장 메서드가 아니라 자신만의 확장 메서드를 직접 만들어 보았습니다.