목차
- interface 예제 - 단일 interface 구현
- interface 정의
- interface 예제 - 다중 interface 구현
interface 예제 - 단일 interface 구현
파일명: Program.cs
using System;
namespace Homzzang
{
interface Site
{
void site();
void host();
}
class My : Site
{
public void site()
{
Console.WriteLine("홈짱닷컴");
}
public void host()
{
Console.WriteLine("Homzzang.com");
}
}
class Program
{
static void Main(string[] args)
{
My my = new My();
my.site();
my.host();
}
}
}
결과값:
홈짱닷컴
Homzzang.com
interface 정의
추상 (메서드・속성)만 포함하는 특수한 유형의 클래스 선언에 사용.
※ 첫 글자는 대문자 사용.
1. 클래스 vs 인터페이스
class (클래스) :
- 콜론( : ) 키워드 사용해 상속.
- 클래스가 오직 1개의 클래스만 상속 가능. (※ 다중 상속 지원 X)
interface (인터페이스) :
- 콜론( : ) 키워드 사용해 구현.
- 클래스가 복수의 인터페이스를 구현 가능. (※ 다중 구현 지원 O)
- 쉼표( , ) 이용해 인터페이스를 나열.
2. 인터페이스 특징
- 추상 클래스와 마찬가지로, 직접 객체 생성 불가.
- 선언된 메서드・속성의 구체적 정의는 구현 클래스에서 함.
- 인터페이스 구현 시, 반드시 선언된 메서드를 정의해줘야 함.
- 인터페이스는 (메서드・속성)은 포함하나, 필드/변수는 포함 X .
- 인터페이스 메서드・속성은 기본적으로 abstract, public 임.
- 인터페이스는 생성자 가질 수 없음. (∵ 객체 생성 불가하므로.)
- 첫 글자는 대문자 사용 권장.
3. 인터페이스 사용 이유
- 보안 확보. (∵ 특정 세부 정보 숨기고, 주요 정보만 표시)
- 코드 정합성 확보. (즉, 코드 복잡성에 따른 에러 발생 방지)
interface 예제 - 다중 interface 구현
파일명: Program.cs
using System;
namespace Homzzang
{
interface Site
{
void site();
}
interface Host
{
void host();
}
class My : Site, Host
{
public void site()
{
Console.WriteLine("홈짱닷컴");
}
public void host()
{
Console.WriteLine("Homzzang.com");
}
}
class Program
{
static void Main(string[] args)
{
My my = new My();
my.site();
my.host();
}
}
}
결과값:
홈짱닷컴
Homzzang.com
최신댓글