Programing/C#

추상클래스(Adstract Calss)

챠니쓰 2009. 3. 29. 18:39

추상클래스는 미완성클래스로 스스로 객체 생성이 불가능한 클래스이다.

몸체가 없는 메서드를 포함하거나 abstract 키워드를 포함하는 클래스가 추상클래스가 되는데
이러한 추상클래스를 상속받는 새로운 클래스가 몸체없는 메서드 즉, 추상메서드들을 모두 채워넣어야 객체로 생성 할 수 있게 된다.

상속받은 클래스에서는 overrid키워드를 사용하여 메서드를 재정의하게 된다.


아래는 추상클래스를 이용하여 코딩하는 한 예이다. (출처 : http://www.jabook.com )

using System;

public abstract class Shape{

         public abstract void draw();

}

public class Circle: Shape{//추상클래스의 구현

         public override void draw() {

                         Console.WriteLine("원을 그립니다");

         }

}

public class Rect: Shape{//추상클래스의 구현

         public override void draw() {

                         Console.WriteLine("사각형을 그립니다");

         }

}

public class ShapeTest{

            public static void Main(){

                   Circle cir = new Circle();

                   Rect rec = new Rect();

                          cir.draw();//원그리기

                          rec.draw();//사각형 그리기

       }//main

}


추상클래스는 프로그램의 설계 단계에서 많이 쓰인다. 
독자적으로 사용되는 클래스는 아니지만, 프로그램 상황에 맞는 계층적인 모델을 설계하도록 하는 역할을 추상클래스가 하고 있다.