다음은 세 개의 public 클래스로 구성되어 있다. 각 클래스는 별도의 파일로 저장되어야 한다.
(Java와는 달리) 하나의 C# 소스파일에 public 클래스가 여러개 존재해도 된다. 소스 파일명도 public 클래스명과 달라도 된다. C# 언어는 소스 코드에서 C, C++, Java  언어 처럼 대소문자 구별을 엄격히 한다.

Parent는 부모 클래스이고 Child는 Parent에서 상속 받은 자식 클래스이다.


컴파일하는 명령은 

     csc TestSubclassing.cs Parent.cs Child.cs

이다.

// Filename: Parent.cs

using System;

namespace MyTestApplication1 {

public class Parent {

    private String name;

        public Parent() {
        }

        public Parent(String name) {
            this.name =  name;
        }

        public virtual void sayName() {
            System.Console.WriteLine("I am Parent, " + name);
        }
    }
}




 

// Filename: Child.cs

using System;

namespace MyTestApplication1 {

    public class Child : Parent {
        private String name;

        public Child(String name) {
            // super(name);               // 클래스 상속시 부모 클래스 생성자 호출
            this.name =  name;
        }

        public override void sayName() {
            Console.WriteLine("I am a child, named as " + name);
        }
    }
}




 

// Filename: TestSubclassing.cs

using System;

namespace MyTestApplication1 {

    public class TestSubclassing {
        public static void Main(String[] args) {
            Child obj = new Child("Dooly");
            obj.sayName();
        }
    }
}



실행> TestSubclassing
I am a child, named as Dooly




Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

Posted by Scripter
,