.NET프로그래밍/C# 3.5 SP1

63. 인터페이스(Interface)

holland14 2009. 8. 14. 15:46


==> 인터페이스.cs



using System;

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



==============================================================================================



==> Car.cs



using System;
// Interface : ISO 규격 : 전세계표준
public interface IIso // 인터페이스 이름 : I대문자 그다음 첫자도 대문자로 표기한다.
{
    void Run(); // 이름만 정의(멤버가 없다.)
}

// Interface : KS 규격 : 한국표준
public interface IKs
{
    void Back();
}

// Abstract : 현대자동차 규격
public abstract class Hyundai : IIso, IKs // Hyundai는 IIso, IKs의 상속을 받는다.
{
    public void Run() { Console.WriteLine("전진"); }
    public void Back() { Console.WriteLine("후진"); }
    public abstract void Left(); // 추상메서드    
}
// Class : Sonata
public class Sonata : Hyundai // Sonata는 Hyundai의 상속을 받는다.
{
    public override void Left()
    {
        Console.WriteLine("좌회전");
    }
    public void Right()
    {
        Console.WriteLine("우회전");
    }
}

 

/*
- 추상클래스는 추상메서드 외에도 일반메서드들도 와도 된다.
- 인터페이스와 추상클래스는 멤버내용( {~} )이 없다. 이름만 있다.
*/