c#

[C#] 추상클래스

바르마스 2023. 1. 10. 10:34
728x90

abstract 키워드를 사용하면 파생클래스에서 구현해야하는 클래스 및 클래스 멤버를 만들 수 있다

sealed 키워드를 사용하면 이전에 virtual로 표시되었던 클래스나 특정 클래스 멤버의 상속을 방지한다 (봉인 클래스)

 

abstract class Ch_24_Parent
{
    public void parentMessage()
    {
    	Console.WriteLine("부모클래스 메소드입니다");
    }
    abstract public void message();
}
class Ch_24_child : Ch_24_Parent
{
    public override void message()
    {
    	string str1 = "Ch_2_Child";
        string str2 = "추상클래스를 상속 받았습니다";
        Console.WriteLine(str1 + str2);
    }
}
static void Main(string[] args)
{
    Ch_24_child ch = new Ch_24_child();
    ch.parentMessage();
    ch.message();
    
    Ch_24_child ch2 = new Ch_24_child();
    ch2.message();
}

 

추상클래스는 인스턴스화 할 수 없다

추상클래스의 목적은 여러 파생 클래스에서 공유할 수 있는 기본 클래스이 공통적인 정의를 제공하는 것이다

파생클래스에서 sealed override 하게되면 이후에 파생되는 클래스에서 재정의 할수 있다

 

728x90