[TIL-251227] 인터페이스

데비·2025년 12월 27일

본과정

목록 보기
18/79

오늘 배운 내용

- 인터페이스(interface)


인터페이스

  • 일종의 약속을 만들고, 인터페이스를 적용한 클래스에 대해 이 약속을 강제시키는 것이다.
  • 인터페이스는 내부에 구현을 강제할 메서드를 가지고, 이를 적용받은 클래스에서 구현하지 않으면 우리에게 잊고 구현하지 않았음을 상기시켜 준다.(에러)
  • 인터페이스는 메서드와 자동구현 프로퍼티만을 가질 수 있고, 이외의 필드는 가질 수 없다.
  • 인터페이스는 참조타입이다
public interface IInteractable // 참조 타입
{
	public void Interact();
}

public abstract class BaseClass // 추상 클래스
{
	public abstract void debi();
}

인터페이스 사용 예시

using System;

public class Tester
{
    public void Run()
    {
       IInteractable[] interactables = {new Chair(), new Npc()};

       foreach (IInteractable interactable in interactables)
       {
           interactable.Interact();
       }
    }
}

public class Npc : IInteractable
{
    public void Interact()
    {
        Console.WriteLine("안녕하세요 용사님");
    }
}


public interface IInteractable // 참조타입
{
    public void Interact();
}

public interface IBreakable
{
    public void Break();
}

public class Item
{
    
}

public class Chair : Item, IInteractable, IBreakable
{
    public void Interact()
    {
        Console.WriteLine("앉기");
    }

    public void Break()
    {
        Console.WriteLine("깨짐");
    }
}
  • 필요한것들을 인터페이스로 잘게 잘게 만들어놓고 필요한 기능들을 해당 클래스가 필요하다면 넣어주면된다.
  • 인터페이스를 사용하면 개방폐쇄 원칙을 사용 할수있다.

0개의 댓글