Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 추상 클래스란? 개념부터 예제와 핵심 규칙까지 한눈에

추상(abstract) 클래스는 추상 메서드를 포함하는 클래스로, 해당 메서드의 실제 구현은 파생(자식) 클래스가 담당합니다. 추상 클래스는 공통적인 구조와 뼈대를 정의하는 역할을 하며, 이를 상속받는 파생 클래스들은 각자 더 구체화되고 특화된 기능을 구현하게 됩니다.

다음은 C#에서 추상 클래스를 사용하는 방법을 보여주는 예제입니다.

예제

using System;
namespace Demo {
   abstract class Shape {
      public abstract int area();
   }
   class Rectangle: Shape {
      private int length;
      private int width;
      public Rectangle( int a = 0, int b = 0) {
         length = a;
         width = b;
         Console.WriteLine("Length of Rectangle: "+length);
         Console.WriteLine("Width of Rectangle: "+width);
      }
      public override int area () {
         return (width * length);
      }
   }
   class RectangleTester {
      static void Main(string[] args) {
         Rectangle r = new Rectangle(14, 8);
         double a = r.area();
         Console.WriteLine("Area: {0}",a);
         Console.ReadKey();
      }
   }
}

실행 결과

Length of Rectangle: 14
Width of Rectangle: 8
Area: 112

위 예제에서 사용된 추상 클래스는 다음과 같습니다. Shape 클래스는 area()라는 추상 메서드만 선언하고 있으며, 실제 넓이 계산 로직은 이를 상속받은 Rectangle 클래스가 override 키워드를 통해 구현하고 있습니다.

abstract class Shape {
   public abstract int area();
}

추상 클래스의 핵심 규칙

추상 클래스를 사용할 때 반드시 알아야 할 규칙은 다음과 같습니다.

  • 추상 클래스는 인스턴스를 직접 생성할 수 없습니다.
  • 추상 메서드는 추상 클래스 외부에서 선언할 수 없습니다.
  • sealed로 선언된 클래스는 상속이 불가능하므로, 추상 클래스를 sealed로 선언할 수 없습니다.