Unity3d C# toolba 사용해보기

C#, 여러 인터페이스를 한꺼번에 상속하자!

이번시간에 알아볼 것은 인터페이스의 다중상속입니다.

클래스든.. 인터페이스든 객체지향프로그램에서는 상속이 가능하지만.. 큰 차이점이라면.. 클래스는 하나만 상속이 가능하지만 인터페이스는 여러개를 한꺼번에 상속받을 수 있습니다.

그 이유가 무엇이냐면.. 인터페이스는 외형적인 것 을 물려받기 때문에 문제가 없이 안심하고 사용할 수 있습니다.

아래와같은 인터페이스가 2개가 있는데  FlyingCr이라는 클래스에서  : Irun,Ifly 을 이용해서 2개를 상속받았습니다.




이것은 책에 나와있는 예제를 한번 실행해봤습니다

C#Interface 다중상속




이런표현이 가능하네요..  

그래서 결과적으로..

이렇게 FlyingCr클래스타입의 객체를 생성하여서
Run(), Fly() 메소드를 실행하는것이 가능합니다.   인터페이스2개를 상속하였죠..

또한.. 클래스의 상속에서 사용할 수 있는 연산자가 is와 as가 있었죠?  지난시간에 했었던것인데 기억이 나실련지 모르겠네요..

is의 경우 객체가 해당형식에 해당하는지 검사해서 결과값을  true,false로 반환하는것이고..
as의 경우 참조형식과 비슷하게 되지만.. false 일경우 객체참조를 null로 한다라는거였죠..


아무튼.. as연산자를 이용해서.. 인터페이스에 해당하는 형식이 있으면.. 아래 구분이 정상적으로 실행되겠죠..


아래는 책에 나와있는 예제를 한번 테스트해봤습니다.

메인 클래스에서 보시면.. "----" 을 기준으로 위와 아래에..
Run(),Fly()메소드를 실행하는것을 해봤는데 잘됩니다.

햇갈리고 복잡한데요.. 예제같은것을 많이 테스트해봐서 손에 익혀야 할 것 같습니다.

책으로 봐서는 잘 알겠는데 실제 작성해보라고하면.. 정말 손이 안떨어집니다.^^

이상으로 인터페이스의 다중상속에 대해서 알아봤습니다. 감사합니다.









댓글