Javaのポリモーフィズムはなぜ使う?同じ呼び出しで処理を切り替える考え方|確認問題の回答例

このページは、Javaのポリモーフィズムはなぜ使う?同じ呼び出しで処理を切り替える考え方の確認問題を見直すためのページです。先に自分で考えてから、回答例と見比べてください。
第1問:回答例
呼び出す側は、具体的なクラスごとに分岐を書かずに、同じ send() で処理を呼び出せるためです。通知方法が増えても、呼び出す側のコードを大きく変えずに済みやすくなります。
第2問:回答例
変数の型は NotificationSender です。実際に入っているオブジェクトは EmailSender です。
第3問:回答例
EmailSender の send() が動きます。変数の型は NotificationSender ですが、実際に入っているオブジェクトが EmailSender だからです。