C# 인터페이스 멤버는 명시적으로 또는 암시적으로 구현할 수 있습니다.
암시적 구현은 멤버 이름 앞에 구현되는 인터페이스의 이름을 포함하지 않으므로 컴파일러가 이를 유추합니다. 멤버는 공개로 노출되며 개체가 구체적인 유형으로 캐스팅될 때 액세스할 수 있습니다.
메서드 호출도 다르지 않습니다. 클래스의 개체를 만들고 호출하기만 하면 됩니다.
여러 인터페이스에 동일한 메서드 이름이 선언되어 있으면 암시적 인터페이스를 사용할 수 없습니다.
예
interface ICar { void displayCar(); } interface IBike { void displayBike(); } class ShowRoom : ICar, IBike { public void displayCar() { throw new NotImplementedException(); } public void displayBike() { throw new NotImplementedException(); } } class Program { static void Main() { ICar car = new ShowRoom(); IBike bike = new ShowRoom(); Console.ReadKey(); } }