Java 문제, 다형성으로 다중 메시지 발송하기

이번에는 한번에 여러 곳을 메시지를 발송하는 것을 해보기.

요구사항

  • 다형성을 사용하기
  • Sender 인터페이스 만들기
  • EmailSender, SmsSender, WhatsAppender 구현하기

Main 코드 예제

package sender;

public class SenderMain {
    public static void main(String[] args) {
        Sender[] senders = { new EmailSender(), new SmsSender(), new WhatsAppSender() };
        for (Sender sender : senders) {
            sender.sendMessage("안녕하세요!");
        }
    }
}

클래스 예시


풀어보기

코드를 풀어서 구현하기

Sender.java

package sender;

public interface Sender {
    void sendMessage(String msg);
}

EmailSender.java

package sender;

public class EmailSender implements Sender {

    @Override
    public void sendMessage(String msg) {
        System.out.println("이메일을 발송합니다. " + msg);
    }
}

WhatsApp.java

package sender;

public class WhatsAppSender implements Sender {

    @Override
    public void sendMessage(String msg) {
        System.out.println("왓츠앱에 발송합니다. " + msg);
    }
}

Main 출력 결과

이메일을 발송합니다. 안녕하세요!
SMS에 발송합니다.안녕하세요!
왓츠앱에 발송합니다. 안녕하세요!