투케이2K

46. (C#/NET) [Mac Os] [문법] 오버라이딩 (Overriding) 클래스 생성 및 상속 후 메소드 재정의 수행 본문

C샵 (NET)

46. (C#/NET) [Mac Os] [문법] 오버라이딩 (Overriding) 클래스 생성 및 상속 후 메소드 재정의 수행

투케이2K 2024. 3. 15. 13:46
반응형

[개발 환경 설정]

개발 언어 : C# / NET

 

[소스 코드]

using System;
using System.Collections;
using Microsoft.VisualBasic;

namespace testProject {


    // [부모 클래스 생성]
    public class Application{

        // [메소드 정의 : virtual]
        public virtual void onCreate(){
            Console.WriteLine($"");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"[Application] : [onCreate] : [Log]");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"Application onCreate");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"");
        }
    }





    // [자식 클래스 생성]
    public class Activity : Application { // [부모 상속]

        // [메소드 재정의 : override]
        public override void onCreate(){
            Console.WriteLine($"");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"[Activity] : [onCreate] : [Log]");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"Activity onCreate");
            Console.WriteLine($"------------------------------------------");
            Console.WriteLine($"");
        }
    }



    // [프로그램 동작 클래스]
    class Program {

        static void Main(string[] args){
            
            /*
            -------------------------------------------
            [요약 설명]
            -------------------------------------------
            1. 오버라이딩 (Overriding) : 클래스에서 물려받은 메소드를 파생 클래스에서 재정의하는 것입니다
            -------------------------------------------
            2. 오버라이딩 (Overriding) 구현 시 클래스의 메소드보다 파생 클래스의 메소드가 더 우선시 됩니다
            -------------------------------------------
            3. 오버라이딩 (Overriding) 구현 을 위해선 메소드가 virtual 키워드로 선언 되어 있어야하며, override 키워드로 상속 받아 재정의합니다
            -------------------------------------------
            */


            // [부모 클래스 생성]
            Application application = new Application();
            application.onCreate();


            // [자식 클래스 생성]
            Activity activity = new Activity();
            activity.onCreate();

        }

    }

}
 

[결과 출력]

 

 

반응형
Comments