[c#] 다형성을 통한 코드 재사용

다형성(Polymorphism)은 객체 지향 프로그래밍 언어 중 하나인 C#에서 매우 강력한 기능으로, 하나의 인터페이스나 부모 클래스를 여러 가지 형태로 구현할 수 있는 능력을 말합니다. 이는 코드의 재사용성을 높여주고 유연성을 제공해줍니다.

다형성의 장점

다형성을 이용하면 동일한 인터페이스를 구현한 여러 클래스가 다양한 방식으로 활용될 수 있습니다. 이는 매우 중요한 장점으로, 하나의 코드 블록에서 서로 다른 객체를 다룰 수 있다는 점이며, 이로써 코드의 재사용성이 높아집니다.

다형성의 구현 방법

C#에서 다형성은 주로 인터페이스상속을 이용하여 구현됩니다. 상속을 통해 부모 클래스의 인터페이스를 자식 클래스에서 구현함으로써 다형성을 활용할 수 있습니다. 이를 통해 여러 클래스가 같은 방식으로 호출될 수 있으므로 코드의 복잡성을 줄여주고, 유지보수를 용이하게 할 수 있습니다.

interface IShape
{
    void Draw();
}

class Circle : IShape
{
    public void Draw()
    {
        Console.WriteLine("Circle Draw");
    }
}

class Square : IShape
{
    public void Draw()
    {
        Console.WriteLine("Square Draw");
    }
}

class Program
{
    static void Main(string[] args)
    {
        IShape shape1 = new Circle();
        IShape shape2 = new Square();

        shape1.Draw();  // "Circle Draw" 출력
        shape2.Draw();  // "Square Draw" 출력
    }
}

위의 코드는 간단한 도형 예제로, IShape 인터페이스를 구현한 CircleSquare 클래스가 있습니다. Main 메소드에서 IShape 타입으로 선언된 변수에 각 클래스의 객체를 할당하고, 이를 통해 다형성을 실현한 예제입니다.

마치며

다형성을 통한 코드 재사용은 C# 프로그래밍에서 매우 중요한 개념 중 하나입니다. 이를 잘 활용하면 유연하고 효율적인 코드를 작성할 수 있으며, 이는 유지보수 및 개발 생산성을 높여줄 것입니다.

참고 자료