인터페이스는 객체 지향 프로그래밍의 핵심 개념 중 하나이다.
인터페이스는 클래스와 비슷하지만 클래스가 반드시 구현해야 할 메서드들의 이름만 선언해둔 설계 명세서 같은 느낌이고, 실제 로직들은 인터페이스를 구현하는 클래스에서 작성하게되며, 클래스 간의 다형성을 구현할 수 있게 해준다.
public interface IAttack
{
void Attack();
}
interface 키워드를 사용, 보통 I로 시작
public class Player : IAttack
{
public void Attack()
{
Console.WriteLine("플레이어가 공격합니다!");
}
}
public class Monster : IAttack
{
public void Attack()
{
Console.WriteLine("몬스터가 공격합니다!");
}
}
인터페이스는 유연하고 확장 가능한 구조를 만들기 위한 핵심 도구이며, 단일 상속이라는 한계를 보완하고, 다양한 객체를 하나의 인터페이스로 묶어 처리할 수 있어 객체지향에서 중요한거 같다.