다음 코드의 실행 결과는?

과목: C#

문제 번호: 2661

medium
다음 코드의 실행 결과는?
abstract class Shape
{
    public abstract void draw();
    
    public void display()
    {
        Console.WriteLine("Shape");
    }
}

class Circle : Shape
{
    public override void draw()
    {
        Console.WriteLine("Drawing Circle");
    }
}

class Program
{
    static void Main(string[] args)
    {
        Circle myCircle = new Circle();
        myCircle.draw();
        myCircle.display();
    }
}
A.
Drawing Circle
Shape
B.
Shape
Drawing Circle
C. Drawing Circle
D. 컴파일 오류

정답: A



자식 클래스는 추상 메서드를 구현하고 일반 메서드를 상속받습니다.

실행 과정:

1. Circle myCircle = new Circle(): Circle 객체 생성

2. myCircle.draw():
⦁ Circle에서 override한 draw() 실행
⦁ "Drawing Circle" 출력

3. myCircle.display():
⦁ Shape에서 상속받은 display() 실행
⦁ "Shape" 출력

상속 관계:
⦁ 추상 메서드 draw(): 반드시 구현
⦁ 일반 메서드 display(): 그대로 상속

💡 학습 팁

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