S_pot
C#_인터페이스의 장점: 기능을 빠트리지 않고 입력 본문
interface Phone
{
void Call();
void Recv();
}
// 자동으로 코드생성 가능
class Sami : Phone // interface Phone을 상속받으면 call()과 Recv()를 모두 사용하지 않으면 실행되지 않는다.
// 실수로 기능을 빼먹는 것을 방지한다.(인터페이스의 장점)
{
public void Call()
{
Console.WriteLine("나 사미전화긴데 전화 검");
}
public void Recv()
{
Console.WriteLine("나 사미전화긴데 전화 받음");
}
}
class Hong : Phone // 자동으로 코드생성 가능
{
public void Call()
{
Console.WriteLine("나 홍전화긴데 전화 검");
}
public void Recv()
{
Console.WriteLine("나 홍전화긴데 전화 받음");
}
}
class Helgi : Phone // 자동으로 코드생성 가능
{
public void Call()
{
Console.WriteLine("나 헬지전화긴데 전화 검");
}
public void Recv()
{
Console.WriteLine("나 헬지전화긴데 전화 받음");
}
}
class Program
{
static void Main(string[] args)
{
Sami aSami = new Sami();
Helgi aHelgi = new Helgi();
Hong aHong = new Hong();
Phone[] aPhone = new Phone[] { aSami, aHelgi, aHong };
// 배열을 이용해 한번에 실행
foreach (var Temp in aPhone)
{
Temp.Call();
}
}
}
'C#' 카테고리의 다른 글
C#_MessageMap기법: 속성으로 문자와 delegate를 만들어 효율적으로 값을 호출 (0) | 2021.06.14 |
---|---|
C#_delegate: 메서드를 변수로 사용하는 개념 (0) | 2021.06.14 |
C#_인터페이스: 다중상속 (0) | 2021.06.04 |
C#_인터페이스: 인터페이스를 사용하는 이유(다중상속) (0) | 2021.06.04 |
C#_인터페이스 생성 (0) | 2021.06.04 |