C#객체지향

interface 기본

`interface`는 클래스가 어떤 기능을 제공해야 하는지 약속하는 문법으로, 교체 가능한 구조를 만들 때 유용합니다.

마지막 수정 2026년 3월 16일

기본 패턴

csharp
public interface IDamageable
{
    void TakeDamage(int amount);
}

public class Enemy : IDamageable
{
    public void TakeDamage(int amount) { }
}

설명

  • interface는 구현보다 규칙을 먼저 정의합니다.
  • 여러 클래스가 같은 방식으로 동작해야 할 때 특히 유용합니다.
  • 의존성을 줄이고 테스트하기 쉬운 구조를 만드는 데 자주 사용합니다.

짧은 예제

csharp
void Hit(IDamageable target)
{
    target.TakeDamage(10);
}

빠른 정리

항목설명
interface기능 계약 정의
: IDamageable인터페이스 구현
다형성구현체가 달라도 같은 방식으로 사용 가능

주의할 점

인터페이스는 공통 규칙을 정의할 때 강력하지만, 너무 잘게 쪼개면 오히려 구조가 읽기 어려워질 수 있습니다.