프로그래밍 언어/C#
C# 인터페이스 (interface)
ShovelingLife
2022. 7. 28. 09:04
인터페이스는 계약이라고 볼 수 있다. interface는 클래스가 아니기 때문에 다중 상속이 가능하다. 인터페이스는 추상 메서드만 0개 이상 담고 있는 추상 클래스라고 봐도 무방하다.
특징
- Method만을 포함할 수 있다.
- 비어 있는 인터페이스 정의가 가능하다.
- 자식 클래스에서 구현할 때, 반드시 public 접근 제한사를 명시해야 한다. (인터페이스명을 직접 붙이면 생략 가능)
- 인터페이스명을 직접 붙이는 경우에는 반드시 인터페이스로 형변환해야 호출이 가능하다.
- C#에서는 property가 메서드로 구현되기 때문에 인터페이스에 포함 가능하다.
interface IFlyable
{
void Fly();
}
interface IRunnable
{
void Run();
void Stop();
}
abstract class Fly
{
public abstract void CFly();
}
class FlyingCar : Fly, IRunnable, IFlyable
{
public override void CFly()
{
Console.WriteLine("Car Fly");
}
public void Run()
{
Console.WriteLine("Car Run");
}
public void Run()
{
Console.WriteLine("Car Run");
}
public void Stop()
{
Console.WriteLine("Car Stop");
}
}