Section 48.9: 인터페이스에 확장 메소드 적용하기

확장 메소드의 유용한 기능 중 하나는, 바로 인터페이스에 대한 공통 구현부를 제공할 수 있다는 것이다. 일반적으로 인터페이스는 공통 구현부를 가질 수 없는데, 확장 메소드를 이용하면 이것이 가능해진다.

public interface IVehicle { int MilesDriven { get; set; } } public static class Extensions { public static int FeetDriven(this IVehicle vehicle) { return vehicle.MilesDriven * 5028; } }

이 예제에서, FeetDriven 메소드는 모든 IVehicle 들에 대해 사용될 수 있다. 이 메소드에 구현된 로직은 모든 IVehicle 을 상속한 클래스들에 공통적으로 적용될 것이므로, IVehicle 선언 시 각 자식 클래스들이 동일하게 구현해야만 하는 FeetDriven 메소드를 인터페이스 내에 추가적으로 선언할 필요가 없다.

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts