프로그래밍/C#

C# 인터페이스(Interface) 정리

Jaebins 2024. 11. 12. 23:04
반응형

✋ 인터페이스(Interface)

객체지향 언어 특징 중, 추상화를 구현 시켜주는 메서드 정의 방법의 한 종류이다.
  1. 즉, 서로 비슷한 기능을 하는 클래스들을 그룹화 시켜서 공통의 메소드를 정의시킬 수 있음.
    • Example : Animal (Walk)  → Cat (Walk) | Dog (Walk) | Fox (Walk) | Tiger (Walk)
  2. 다중 상속이 가능하다.
    • Example : Animal (Walk), Pet (Name)  → Cat (Animal.Walk, Pet.Name) | Dog ( Animal.Walk, Pet.Name) | Fox (Walk) | Tiger (Walk)
  3. 다형성을 보장한다.

 

✋ C#에서 인터페이스 구현

인터페이스의 이름에는 앞에  I"를 붙이도록 한다.

interface IAnimal // 인터페이스 Animal 구현
{
    void Walk();
}

interface IPet // 인터페이스 Pet 구현
{
    void Name(string name);
}

class Start
{
    public static void Main(string[] args)
    {
        new Dog();
        new Cat();
    }
}

public class Dog : IAnimal // IAnimal 상속
{
    public Dog()
    {
        Walk();
    }

    public void Walk()
    {
        Console.WriteLine("강아지가 걷습니다.");
    }
}

public class Cat : IAnimal, IPet // IAnimal, IPet 다중상속
{
    public Cat()
    {
        Walk();
    }

    public void Walk()
    {
        Console.WriteLine("고양이가 걷습니다.");
    }

    public void Name(string name)
    {
        Console.WriteLine($"이름은 {name} 입니다.");
    }
}

/* 강아지가 걷습니다.
   고양이가 걷습니다. */
반응형