더북(TheBook)

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에서 제공하는 수많은 메서드는 확장 메서드로 구성되어 있습니다. 이러한 확장 메서드만 사용해도 일반적인 프로그래밍은 가능합니다. 이 강의에서는 이미 있는 확장 메서드가 아니라 자신만의 확장 메서드를 직접 만들어 보았습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.