[C#]인터페이스 정의 및 클래스 구현 관련 예시 코드

badassong·2024년 4월 25일
0

C#

목록 보기
2/2

인터페이스(Interface)는 객체 간의 상호 작용을 정의하는 추상 형식입니다. 클래스와 달리 인터페이스는 멤버의 구현을 포함하지 않고, 단지 메서드, 속성, 이벤트 또는 인덱서의 시그니처만을 정의합니다. 이러한 시그니처는 해당 인터페이스를 구현하는 클래스에서 구현되어야 합니다.

인터페이스는 다음과 같은 특징을 가집니다:

1. 추상성: 인터페이스는 추상적인 형식이므로 직접 인스턴스화할 수 없습니다. 대신 인터페이스를 구현한 클래스의 인스턴스를 사용해야 합니다.
2. 다중 상속: 클래스는 다중 클래스 상속을 허용하지 않지만, 인터페이스는 다중 구현을 허용합니다. 즉, 클래스가 여러 개의 인터페이스를 구현할 수 있습니다.
3. 계약: 인터페이스는 클래스 간의 계약 역할을 합니다. 클래스가 특정 인터페이스를 구현한다는 것은 해당 클래스가 인터페이스에서 정의한 메서드, 속성 등을 제공한다는 의미입니다.
4. 유연성: 인터페이스를 사용하면 클래스 간의 결합도를 낮출 수 있습니다. 이는 코드를 더 유연하게 만들어 재사용성과 테스트 용이성을 높입니다.

간단한 예시로, 인터페이스를 통해 다양한 동물의 울음 소리를 표현하는 클래스를 만들어 보겠습니다:

// 인터페이스 정의
public interface IAnimal
{
    void MakeSound();
}

// 클래스 정의 - Dog
public class Dog : IAnimal
{
    public void MakeSound()
    {
        Console.WriteLine("멍멍!");
    }
}

// 클래스 정의 - Cat
public class Cat : IAnimal
{
    public void MakeSound()
    {
        Console.WriteLine("야옹!");
    }
}

// 응용 프로그램 진입점
class Program
{
    static void Main(string[] args)
    {
        IAnimal dog = new Dog();
        IAnimal cat = new Cat();

        dog.MakeSound(); // 출력: 멍멍!
        cat.MakeSound(); // 출력: 야옹!
    }
}

이 예시에서는 IAnimal 인터페이스를 정의하고, Dog 및 Cat 클래스가 이 인터페이스를 구현합니다. 이렇게 함으로써 Dog 및 Cat 클래스는 MakeSound 메서드를 가지게 되며, 이를 통해 다양한 동물의 울음 소리를 표현할 수 있습니다.

profile
풀스택 대장이 되어보쟈

0개의 댓글