본문 바로가기
책/Effective C#

Effective C# - Item 27 인터페이스는 간략히 정의하고 기능의 확장은 확장메서드를 사용하라

by 코딩하는 돼징 2024. 1. 19.
반응형

확장 메서드를 이용하면 인터페이스에 새로운 동작을 추가할 수 있다. 인터페이스에는 가능한 최소한의 기능만을 정의하고 확장 메서드를 세트로 함께 구현하면 손쉽게 기능을 확장할 수 있다. 특히 API를 추가적으로 정의하지 않고도 새로운 기능을 추가할 수 있다.

 

확장메서드(Extention Method)

정적 클래스에 속해 있는 정적 메서드로 해당 클래스의 인스턴스가 마치 자신의 멤버인 것처럼 사용할 수 있다. C#에서는 확장 메서드를 정의할 때 정적 클래스에 정적메서드로 작성하고 첫번째 매개변수에 this키워드를 사용하여 어떤 형식에 대한 확장 메서드인지 나타낸다.

ex) System.Linq.Enumerable클래스에는 IEnumerable<T>에대해 정의된 50개 이상의 확장메서드(Where,Orderby,ThenBy,GroupInfo등)가 포함되어있다.


확장메서드 자세히 알아보러 가기

 

C# 문법 - 확장 메서드(Extension Method)

class MyInt { public static bool IsEven(int a) { return a % 2 == 0; } } class Program { public static void Main() { int a = 124; bool b = Program2.IsEven(a); } } 만약 IsEvent메서드가 int구조체에 소속된 메서드라면 아래와 같이 더 직

code-piggy.tistory.com


결론

인터페이스를 정의하는 경우 인터페이스 내에 정의하는 멤버의 수를 최소한으로 하기 위해 노력해야한다. 그러면 인터페이스를 구현할 때 작성해야 하는 코드의 양을 줄일 수 있고 확장 메서드를 통해 풍부한 기능을 제공할 수 있다.

 

 

 

 

본 게시글은 Effective C#을 읽고 정리하였습니다.

 

 

반응형

댓글