다음 코드가 컴파일 오류를 발생시키는 이유는?

과목: C#

문제 번호: 2666

medium
다음 코드가 컴파일 오류를 발생시키는 이유는?
interface IAnimal
{
    void Sound();
    void Move();
}

class Dog : IAnimal
{
    public void Sound()
    {
        Console.WriteLine("Bark");
    }
}
A. 인터페이스 이름이 I로 시작해야 한다
B. Dog 클래스가 Move() 메서드를 구현하지 않았다
C. Sound() 메서드에 override 키워드가 없다
D. 인터페이스는 두 개 이상의 메서드를 가질 수 없다

정답: B



인터페이스를 구현하는 클래스는 인터페이스의 모든 멤버를 반드시 구현해야 합니다.

오류 원인:
IAnimal 인터페이스: Sound()Move() 두 메서드 선언
Dog 클래스: Sound()만 구현, Move() 누락

해결 방법:
class Dog : IAnimal
{
    public void Sound()
    {
        Console.WriteLine("Bark");
    }
    
    public void Move()  // 필수 구현
    {
        Console.WriteLine("Running");
    }
}

인터페이스 구현 규칙:
⦁ 모든 멤버 구현 필수
⦁ 부분 구현 불가
⦁ 구현하지 않으면 컴파일 오류

💡 학습 팁

이 문제를 포함한 C# 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.