일상+

interface에 대해 간단하게 알아보자! 본문

컴퓨터공학

interface에 대해 간단하게 알아보자!

이종준 2009. 1. 23. 15:58
인터페이스는 기본적으로 단일 상속만 지원하는 C#에서 다중 상속을 구현하기 위한 방법을 제공한다. 인터페이스는 이름뿐인 메서드, 델리게이트, 이벤트, 속성만 선언할 수 있습니다.
인터페이스에 선언된 메서드는 상속받은 클래스에서 실제 내용을 구현한다.


 
interface 새
    {
        void fly(); // 날아다니는 속성
    }
    interface 말
    {
        void run(); // 달리는 속성
    }

    interface 물고기
    {
        void swimming(); // 수영하는 속성
    }
    interface 사람
    {
        void speak(); // 말하는 속성
    }
    interface 인어 : 사람, 물고기
    {
        void person_fish();
    }



    class 페가수스 : 새,말
    {
        public void fly() { Console.WriteLine("하늘을 난다!"); }
        public void run() { Console.WriteLine("대륙을 달린다!"); }
    }
    class New인어 : 인어
    {
        public void swimming() { Console.WriteLine("헤엄을 잘 친다!"); }
        public void speak() { Console.WriteLine("말을 잘 한다!"); }
        public void person_fish() { Console.WriteLine("상체는 사람 하체는 물고기"); }
    }
    class program
    {
        static void Main(string[] args)
        {
            페가수스 pega = new 페가수스();
            Console.WriteLine("* 페가수스 *");
            pega.fly();
            pega.run();

            New인어 pf = new New인어();
            Console.WriteLine("* 인어 *");
            pf.speak();
            pf.swimming();
            pf.person_fish();
        }
    }

위의 코드를 보면 먼저 새와 말의 인터페이스를 상속받아서 페가수스를 출력한다.
결과는
* 페가수스 *
하늘을 난다!
대륙을 달린다!

그리고 인터페이스 간의 상속도 가능하다.
물고기와 사람의 인터페이스를 인어라는 인터페이스가 상속을 받는다.
New인어 클래스에서 인어 인터페이스를 상속 받아서
출력을 하면 결과는
* 인어 *
말을 잘 한다!
헤엄을 잘 친다!
상체는 사람 하체는 물고기
가 출력이 된다.
Comments