간단한 상속 예제

홈 > 공유팁! > 프로그램 관련
프로그램 관련

간단한 상속 예제

꽁스짱 0 1092
간단한 상속 예제

using System; 
namespace ConsoleApplication1 

    class Dog 
    { 
        //개의 일반적인 속성과 행동을 정의 
        public string kinds; 
        public void jitda() 
        { 
            Console.WriteLine("일반개가 짖다."); 
        } 
    } 
    //파생클래스인 Pudle은 Dog의 전부를 상속받아서 사용하며, 자신만의 메소드인 work()를 구현, 
    //상속은 상위클래스의 속성, 행동을 재활용하고 자신만의 속성(멤버변수, 필드)과 행동(메소드)을 정의 
    //상속을 함으로서 공통적인 부분은 재활용 할 수 있다. 
    class Pudle : Dog 
    { 
        public Pudle()  //생성자, new Pudle() 할때 호출됨 
        { 
            base.kinds = "푸들";  //기반클래스인 Dog의 kinds를 의미한다. 
            Console.WriteLine("푸들 생성자~~"); 
        } 
        //일반개와 달리 푸들은 일을 한다. 
        public void work() 
        { 
            Console.WriteLine("푸들이 일을 합니다~"); 
        } 
    } 

    class DogTest 
    { 
        static void Main() 
        { 
            Pudle p1 = new Pudle(); 
            p1.jitda(); 
            p1.work(); 
            
            //Pudle이 자식 클래스이므로 좌측 p2의 타입에 부모클래스인 Dog이 올수있다. 
            //하위클래스는 완벽한 상위클래스 임 
            //하위클래스를 new하면 먼저 부모클래스를 생성한 후 자식클래스가 생성되므로 
            Dog p2 = new Pudle(); 
            Console.WriteLine(p2.kinds); 
            p2.jitda(); 
            //p2.work();  //에러, p2의 타입인 Dog에는 work메소드가 정의 되어 있지않다. 
        } 
    } 



[결과] 

푸들 생성자~~ 
일반개가 짖다. 
푸들이 일을 합니다~ 
푸들 생성자~~ 
푸들 
일반개가 짖다. 

0 Comments
제목