C#의 인터페이스와 추상화
이 레슨에서는 객체의 능력을 설명하는 인터페이스를 정의하고 클래스에서 구현합니다.
소개
인터페이스는 알림 보내기처럼 객체가 무엇을 할 수 있는지를 설명하며, 데이터를 어떻게 저장하는지나 무엇을 상속하는지는 정하지 않습니다. 서로 관련 없는 여러 클래스가 같은 인터페이스를 구현할 수 있습니다. 관례상 C#의 인터페이스 이름은 I로 시작합니다.
INotifier 인터페이스는 Send 메서드만 선언합니다. EmailNotifier 클래스는 알림을 이메일로 출력해서 이 인터페이스를 구현합니다. 변수 notifier의 타입이 INotifier이므로 사용하는 코드는 전송 방식에 의존하지 않습니다. SMS나 Slack 채널을 추가하려면 INotifier를 구현하는 새 클래스만 만들면 됩니다.
실행 가능한 C# 예제
C#
Program.cs
using System;
interface INotifier { void Send(string message); }
class EmailNotifier : INotifier { public void Send(string message) => Console.WriteLine($"Email: {message}"); }
class Program
{
static void Main()
{
INotifier notifier = new EmailNotifier();
notifier.Send("Build complete");
}
}
Email: Build complete디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
모든 챌린지