[c#] C# 다형성의 구체적인 예시
다형성(Polymorphism)이란?
C#에서 다형성은 오버로딩, 오버라이딩, 인터페이스, 추상 클래스 등을 통해 구현됩니다.
오버로딩(Overloading)
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
public double Add(double a, double b)
{
return a + b;
}
}
오버라이딩(Overriding)
public class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("Some sound");
}
}
public class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Bark");
}
}
public class Cat : Animal
{
public override void MakeSound()
{
Console.WriteLine("Meow");
}
}
인터페이스(Interface)
public interface IShape
{
double GetArea();
}
public class Circle : IShape
{
public double Radius { get; set; }
public double GetArea()
{
return Math.PI * Radius * Radius;
}
}
public class Rectangle : IShape
{
public double Width { get; set; }
public double Height { get; set; }
public double GetArea()
{
return Width * Height;
}
}
추상 클래스(Abstract Class)
public abstract class Shape
{
public abstract double GetArea();
}
public class Square : Shape
{
public double Side { get; set; }
public override double GetArea()
{
return Side * Side;
}
}
public class Triangle : Shape
{
public double Base { get; set; }
public double Height { get; set; }
public override double GetArea()
{
return 0.5 * Base * Height;
}
}
이러한 예시들을 통해 C#에서의 다형성을 구현하는 방법을 살펴볼 수 있습니다.
참고 자료
- https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/
- https://www.tutorialspoint.com/csharp/
- https://www.c-sharpcorner.com/