C#에서 인터페이스는 클래스나 구조체와 같은 형식을 정의하는데 사용됩니다. 인터페이스를 구현하는 클래스나 구조체는 인터페이스에서 정의한 멤버들을 구현해야 합니다.
인터페이스의 정의
인터페이스는 interface
예약어를 사용하여 정의됩니다. 아래의 예시와 같이 인터페이스를 정의할 수 있습니다.
public interface IShape
{
void Draw();
double Area { get; }
}
위의 코드에서 IShape
인터페이스는 Draw
메서드와 Area
속성을 정의하고 있습니다.
인터페이스의 구현
인터페이스를 구현하는 클래스는 class
예약어 뒤에 콜론을 사용하여 인터페이스를 명시하고, 해당 인터페이스의 멤버들을 구현합니다.
public class Circle : IShape
{
public void Draw()
{
// draw the circle
}
public double Area
{
get
{
// calculate and return the area of the circle
}
}
}
위의 코드에서 Circle
클래스는 IShape
인터페이스를 구현하고 있으며, Draw
메서드와 Area
속성을 구현하고 있습니다.
다형성과 인터페이스
다형성(polymorphism)은 객체 지향 프로그래밍에서 중요한 개념 중 하나입니다. C#에서 인터페이스는 다형성을 구현하는데 사용될 수 있습니다. 다양한 클래스가 같은 인터페이스를 구현하면 해당 인터페이스를 이용한 다형성 코드를 작성할 수 있습니다.
IShape shape = new Circle();
shape.Draw();
double area = shape.Area;
위의 예시에서 IShape
인터페이스를 이용하여 Circle
클래스의 다형성을 구현하고 있습니다.
마무리
C#에서 인터페이스를 이용하면 코드의 유연성을 높이고, 다형성을 구현할 수 있습니다. 인터페이스의 정의와 구현을 통해 객체 지향 프로그래밍의 핵심 개념을 쉽게 이해하고 활용할 수 있게 됩니다.
참고 자료: Microsoft Docs - C# 인터페이스
이 포스트는 C# 인터페이스와 다형성에 대해 소개하고, 인터페이스를 구현함으로써 다형성을 어떻게 활용하는 지에 대해 설명했습니다.