블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
반응형

Category

Recent Post

Recent Comment

Archive

2009. 8. 15. 01:15 .Net Project/.Net 3.5 Sp1
반응형

 

인터페이스란 ?
메서드의 목록만을 가지는 특별한 타입이다.
기본 형식은 클래스 선언문과 유사돼 키워드 interface로 선언하며, 클래스와 쉽게 구분하기 위해
대문자 I로 시작하여 사용하는 것이 정해진 규칙이다.
이름 뒤에 : 과 깁반 인터페이스를 밝힘으로써 다른 인터페이스로 부터 상속을 받을 수도 있다.

인터페이스의 상속이란 ?
상속에는 구현상속과 인터페이스 상속이 존재 하고 있다.
구현상속 : 부모의 코드를 자식이 그대로 물려 받는 것이며, 클래스 간의 상속이 그 예이다.
인터페이스 상속 : 코드를 물려받지 않고 구현해야 할 메서드의 목록만 상속 받는 것을 의미

일반적으로 코드를 상속하는 구현 상속을 칭하는 경우가 많으며, 빈도도 구현 상속이 훨신더 높다
클래스 계층의 상단부에는 설계상의 목적으로 인터네이스 상속을 하는 것이 좋고 하단부에서는 실제 구현을 재사용하기 위해 구현상속을 사용한다,

논리적으로 튼튼한, 그러면서도 실용적인 클래스 계층을 구축하기 위해서는 두 종류 상속이 필요하며, C#은 인터페이이스 상속을 지원하기 위해 인터페이스라는 특수한 타입을 제공하고 있다.

Program.cs 


using System;

public class 인터페이스
{
    public static void Main(string[] args)
    {
        Sonata sonata = new Sonata();
        sonata.Run();
        sonata.Left();
        sonata.Right();
        sonata.Back();
    }
}

Car.cs


using System;

public interface IIso
{
    void Run();     // 이름만 정의
}

public interface IKs { void Back(); }

public abstract class HD : IIso, IKs
{
    public void Run() { Console.WriteLine("Run~~"); }
    // void IKs.Back() { Console.WriteLine("Back~~"); }
    public void Back() { Console.WriteLine("Back~~"); }
   
public abstract void Left();    // 추상메서드
}

public class Sonata : HD
{
    public override void Left()
    {
        Console.WriteLine("Left Turn~~");
    }
    public void Right() { Console.WriteLine("Right Turn~~"); }
}

반응형
posted by Magic_kit