C#/기초
[C#]추상 Class
떡잎
2016. 7. 13. 01:09
C#의 추상(Abstract) Class는
Interface와 비슷한다.
Interface에서는 Method 정의만 가능하지만 추상 Class에서는 실제로 Method를 가질 수 있다.
Interface와 같이 Method의 정의만도 가능하다.
추상 Class는 반드시 다른 Class에 상속되어 사용된다.
추상 Class 예제
private void Form1_Load(object sender, EventArgs e){Vehicle a = new Car();Vehicle b = new Bike();a.Run();b.Run();Close();}/// <summary>/// 추상 Class/// </summary>public abstract class Vehicle{// Method만 정의 [abstract]public abstract string getName();public void Run(){MessageBox.Show(getName() + " Run!");}}public class Car : Vehicle{// Method만 정의된 것을 구현하는 곳에서는 [override]로 써준다.public override String getName(){return "Car";}}public class Bike : Vehicle{public override String getName(){return "Bike";}}추상 Class에서 Interface를 사용한 예제private void Form1_Load(object sender, EventArgs e){Vehicle a = new Car();Vehicle b = new Bike();a.Run();b.Run();Close();}public interface IVehicle{string getName();void Run();}/// <summary>/// 추상 Class/// </summary>public abstract class Vehicle : IVehicle{public abstract string getName();public void Run(){MessageBox.Show(getName() + " Run!");}}public class Car : Vehicle{// Method만 정의된 것을 구현하는 곳에서는 [override]로 써준다.public override String getName(){return "Car";}}public class Bike : Vehicle{public override String getName(){return "Bike";}}