본문 바로가기
C#(CSharp)/기초강좌(Basic)

[19] C# 인터페이스 ( C# interface)

by swconsulting 2015. 2. 23.

 인터페이스 또한 객체 지향에서 중요한 개념입니다. 이것도 상속 개념에서 출발을 합니다. 상위 클래스에 무엇에 대해서 정의를 하고 상속받은 하위 클래스에 어떻게를 작성하는 구조 입니다.


1) 인터페이스 선언

public interface ITransactions
{ 
   void showTransaction();
   double getAmount();
}


2) 동작 샘플

using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace InterfaceApplication
{

   public interface ITransactions
   {
      // interface members
      void showTransaction();
      double getAmount();
   }
   public class Transaction : ITransactions
   {
      private string tCode;
      private string date;
      private double amount;
      public Transaction()
      {
         tCode = " ";
         date = " ";
         amount = 0.0;
      }
      public Transaction(string c, string d, double a)
      {
         tCode = c;
         date = d;
         amount = a;
      }
      public double getAmount()
      {
         return amount;
      }
      public void showTransaction()
      {
         Console.WriteLine("Transaction: {0}", tCode);
         Console.WriteLine("Date: {0}", date);
         Console.WriteLine("Amount: {0}", getAmount());

      }

   }
   class Tester
   {
      static void Main(string[] args)
      {
         Transaction t1 = new Transaction("001", "8/10/2012", 78900.00);
         Transaction t2 = new Transaction("002", "9/10/2012", 451900.00);
         t1.showTransaction();
         t2.showTransaction();
         Console.ReadKey();
      }
   }
}


Transaction: 001
Date: 8/10/2012
Amount: 78900
Transaction: 002
Date: 9/10/2012
Amount: 451900


Transaction 클래스에서 인터페이스 ITransactions을 상속 받았습니다.


Transaction : ITransactions


이 상속을 받은 Transaction 클래스에서는  아래 2개 함수를 구체화 시킵니다. 즉, 어떻게를 구현하는 것이지요


      public double getAmount()


      public void showTransaction()


인터페이스 상속은 향후 인터페이스 통일화에서 중요한 개념입니다. 이 글을 읽는 분들께서는 꼭 샘플 코드를 컴파일 해보면서 이해하시고 넘어가셔야 합니다. 


참고 : http://www.tutorialspoint.com/csharp/index.htm