[c#] 추상 클래스
C#에서 추상 클래스는 하나 이상의 추상 메서드를 포함하고 있는 클래스입니다. 추상 메서드는 본문이 없는 메서드로, 파생 클래스에서 구현해야 합니다.
추상 클래스는 abstract
키워드로 정의되며, 인스턴스화될 수 없습니다. 즉, 추상 클래스의 인스턴스를 직접 생성할 수 없고, 이를 상속하여 파생 클래스에서만 인스턴스를 생성할 수 있습니다.
추상 클래스의 예시
public abstract class Shape
{
public abstract double CalculateArea();
}
public class Circle : Shape
{
public double Radius { get; set; }
public override double CalculateArea()
{
return Math.PI * Radius * Radius;
}
}
위 예시에서 Shape
클래스는 추상 클래스로 정의되었고, CalculateArea
메서드는 추상 메서드로 선언되었습니다. 이를 상속받는 Circle
클래스에서 CalculateArea
메서드를 구현하여 원의 면적을 계산하였습니다.
추상 클래스의 활용
추상 클래스는 다음과 같은 상황에 유용하게 활용됩니다:
- 서로 다른 클래스 사이에 공통된 특성이 존재하는 경우
- 다형성(polymorphism)을 활용하여 여러 하위 클래스를 일관된 방법으로 처리하는 경우
요약
C#에서 추상 클래스는 추상 메서드를 포함하는 클래스로, 인스턴스화될 수 없으며 파생 클래스에서 구현해야 합니다. 이를 통해 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다.
참고 문헌: