質問: JAVAを勉強している者です。説明が下手ですいませんが、「インターフェース」って一体なんなんでしょうか? ネットや参考書みても「特に抽象度(派生させて目的に応じた機能を実装させることを前提として設計した)が高い抽象クラス」と書いてあるんですが、なんなのかよくわかりません。 私はまだ勉強不足だと思いますが、インターフェースっていうのは、「何かと何かを繋ぐ」という意味でしょうが、「特に抽象度が高い抽象クラス」と、「何かと何かを繋ぐ」というのは何か関係あるのですか? わかりやすいような例や例えで教えてくれませんか? できれば身近な例を挙げて教えてくれませんか? よろしくお願いします。
回答: 以前どこかで見たたとえで分かりやすいものとしてはUSBポートでしょうか。 USBポートにつなぐものは様々な種類のデバイスがあります。 マウス、キーボード、外付けHDDなど、機能も役割もバラバラです。 しかし、USBという統一されたインタフェースのおかげで、みんな基本的に差し込むことで使うことができます。 抽象度を上げる、つまり実体を気にしなくて済むようにすることで、みんな統一して使うことができるのです。