[C# 문법] C# 확장 메서드

안녕하세요. 오늘은 C# 문법에서 확장 메서드에 대해서 알아 보려고 합니다. 확장 메서드는 정적 메서드를 선언하고서는 첫 번째 매개변수로 전달된 객체의 인스턴스 메서드를 호출하는 것처럼 코드를 작성해 주는 기능이라고 이해하시면 되겠습니다.

확장 메서드 선언 방법

  • 확장 메서드를 선언할 때는 첫 번째 매개변수 앞에 this 키워드를 추가하기만 하면 됩니다.
  • 중첩 클래스 내에는 선언할 수 없고, 제네릭이 아닌 정적 클래스 내에서도 선언할 수 없습니다.

확장 메서드 예제

using System;

namespace ConsoleApp7
{
    public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    static class StudentExtensionMethod
    {
        public static string StudentInformation(this Student value)
            => $"{value.Id} {value.Name}";
    }

    static class ExtensionExampleMethod
    {
        public static void PrintMethod(this string input)
        {
            Console.WriteLine($"input : {input}");
        }

        public static void PrintMethod(this int number)
        {
            Console.WriteLine($"number : {number}");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            string input = "안녕하세요. 확장 메서드 예제 코드입니다.";
            int number = 12345;

            number.PrintMethod();
            input.PrintMethod();

            Student stu = new Student() { Id = 1, Name = "범범조조" };
            Console.WriteLine($"학생 정보 : {stu.StudentInformation()}");
        }
    }
}

실행 결과

number : 12345
input : 안녕하세요. 확장 메서드 예제 코드입니다.
학생 정보 : 1 범범조조
  • 아직은 확장 메서드에 대해서 이해가 긴가민가 하지만..그래도 익숙해질때까지 사용하면 언젠가는 완변히 이해하고 확장메서드를 사용할 날이 올거라 생각합니다.
  • 이렇게 이번 포스팅에서는 확장 메서드 사용 방법에 대해서 알아 보았습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY