인터페이스 메소드는 이 인터페이스를 구현하는 클래스가 특정 작업 세트를 수행하도록 지정하는 외부 세계와의 계약입니다.
인터페이스의 목적은 다른 유형이 클래스 또는 구조체에 액세스할 수 있도록 하는 것이기 때문에 인터페이스 멤버는 항상 공용입니다.
인터페이스는 protected 또는 internal 등과 같은 액세스 지정자를 가질 수 있습니다. 따라서 '외부 세계'를 '전체 외부 세계'의 하위 집합으로 제한합니다.
예시
interface IInterface{ void Save(); } class Program{ static void Main(){ Console.ReadLine(); } }
위의 예는 오류 없이 올바르게 컴파일됩니다.
C# 8 이전에는 인터페이스 멤버가 기본적으로 공개되었습니다. 실제로 인터페이스 멤버(공개 포함)에 액세스 한정자를 넣으면 컴파일러 오류가 발생합니다.
interface IInterface{ Public void Save(); } class Program{ static void Main(){ Console.ReadLine(); } }
위의 코드는 C# 7.0에서는 컴파일 시간 오류를 발생시켰지만 C# 8.0에서는 오류 없이 컴파일되었습니다.