C#에서 인터페이스로 알림 보내기
이 레슨에서는 인터페이스를 통해 알림을 보내, 기존 코드를 고치지 않고도 전송 채널을 쉽게 바꾸거나 추가할 수 있게 합니다.
소개
인터페이스는 알림을 보내는 코드와 SMS, 이메일, 메신저 같은 구체적인 채널을 분리합니다. 사용하는 코드는 객체에 Send 메서드가 있다는 것만 알면 되고, 보내는 방법은 각 클래스가 스스로 정합니다.
Notify 메서드는 IChannel 타입의 매개변수를 받으므로 이 인터페이스를 구현한 어떤 클래스와도 동작합니다. Sms 객체를 넘기면 알림이 SMS로 보내지고 프로그램은 SMS: Shipped를 출력합니다. 나중에 이메일 채널을 추가하려면 Notify는 건드리지 않고 새 클래스만 만들면 됩니다.
실행 가능한 C# 예제
C#
Program.cs
using System;
interface IChannel { void Send(string message); }
class Sms : IChannel { public void Send(string message) => Console.WriteLine($"SMS: {message}"); }
class Program
{
static void Notify(IChannel channel, string message) => channel.Send(message);
static void Main() => Notify(new Sms(), "Shipped");
}
SMS: Shipped디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
모든 챌린지