반응형
✋ 인터페이스(Interface)
객체지향 언어 특징 중, 추상화를 구현 시켜주는 메서드 정의 방법의 한 종류이다.
- 즉, 서로 비슷한 기능을 하는 클래스들을 그룹화 시켜서 공통의 메소드를 정의시킬 수 있음.
- Example : Animal (Walk) → Cat (Walk) | Dog (Walk) | Fox (Walk) | Tiger (Walk)
- 다중 상속이 가능하다.
- Example : Animal (Walk), Pet (Name) → Cat (Animal.Walk, Pet.Name) | Dog ( Animal.Walk, Pet.Name) | Fox (Walk) | Tiger (Walk)
- 다형성을 보장한다.
✋ C#에서 인터페이스 구현
인터페이스의 이름에는 앞에 I"를 붙이도록 한다.
interface IAnimal // 인터페이스 Animal 구현
{
void Walk();
}
interface IPet // 인터페이스 Pet 구현
{
void Name(string name);
}
class Start
{
public static void Main(string[] args)
{
new Dog();
new Cat();
}
}
public class Dog : IAnimal // IAnimal 상속
{
public Dog()
{
Walk();
}
public void Walk()
{
Console.WriteLine("강아지가 걷습니다.");
}
}
public class Cat : IAnimal, IPet // IAnimal, IPet 다중상속
{
public Cat()
{
Walk();
}
public void Walk()
{
Console.WriteLine("고양이가 걷습니다.");
}
public void Name(string name)
{
Console.WriteLine($"이름은 {name} 입니다.");
}
}
/* 강아지가 걷습니다.
고양이가 걷습니다. */
반응형
'프로그래밍 > C#' 카테고리의 다른 글
C# 상속(Inheritance), virtual, override 키워드 정리 (0) | 2024.11.13 |
---|---|
C# 제네릭(generic) 간단 사용법 (0) | 2024.11.07 |
c# 프로퍼티(property) 간단 사용법 (3) | 2024.11.06 |
c# 파일전송 채팅 프로그램 (3) | 2023.05.02 |
c# 숫자 읽어주는 프로그램 (1) | 2023.05.02 |