추상화와 캡슐화는 객체 지향 프로그래밍의 관련 기능입니다. 추상화를 통해 관련 정보를 볼 수 있고 캡슐화를 통해 프로그래머는 원하는 수준의 추상화를 구현할 수 있습니다.
추상화는 C#에서 추상 클래스를 사용하여 달성할 수 있습니다. 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;
}
public override int area () {
Console.WriteLine("Rectangle class area :");
return (width * length);
}
}
class RectangleTester {
static void Main(string[] args) {
Rectangle r = new Rectangle(20, 15);
double a = r.area();
Console.WriteLine("Area: {0}",a);
Console.ReadKey();
}
}
} 출력
Rectangle class area : Area: 300