Blog Content

    티스토리 뷰

    60.C# - 추상클래스 (Abstract Class)

    반응형
    -클래스 설계 시 부모 클래스 역할을 하면서 강제로 자식 클래스에게 특정
      멤버명을 물려주고자 할 때 정의

    -추상클래스는 멤버의 실제 내용을 구현하지 않고, 자식 클래스에서 멤버를 구현
    -주로 선임이 추상클래스, 후임이 추상클래스를 상속받은 클래스 구현

    추상클래스는 다른 클래스의 기본클래스만 사용되는 것을 나타냅니다.
    Abstract로 표시된 클래스에 포함된 맴버는 Abstract에서 파생되는 클래스에
    구현되어야 합니다.

    추상클래스는 트리구조를 사용하는데 유용하며 추상클래스로 파생된 클래스는 overide를 이용하며 파생되는 클래스에 의해 구현되어야 합니다.


    Program.cs
    using System;
    public class 추상크래스
    {
        public static void Main()
        {
            Sonata son = new Sonata();
            son.Run(); //표준
            son.Left();  //공통
            son.Right(); //자체
        }
    }

    Car.cs
    using System;  //국내표준 : 강제성 => 추상
    public abstract class KS //추창메서드
    {   
        public abstract void Run(); //강제성 맴버명만 정의 하고 내용은
    }                                                          자식클래스에서 정의 리턴함


    //현대자동차 공통
    public class Hyundai : KS //abstract강제 맴버가 없어 자식에서 선언
    {
        public override void Run() {
            Console.WriteLine("전진");
        }
        public virtual void Left() {
            Console.WriteLine("좌회전");
        }
    }

    //소나타만의 기능
    public class Sonata : Hyundai
    {
        public void Right() {
            Console.WriteLine("우회전");
        }
    }

    결과화면


    60.Abstract_Class.zip
    다운로드

    반응형

    Comments