Javaのクラスとインタフェースの違い

Javaのクラスとインタフェースの違い

Javaのinterfaceは、こういうメソッド持ってますよ!というクラスに対しての仕様です。(interfaceはクラスじゃない)

java.util.ListはaddメソッドやaddAllメソッドなどを持っていますがinterfaceなので具体的なメソッドの中身(振る舞い)は書かれていません。

対してclassはそのメソッドがどういった事をするか具体的に書いているのがclassです。(具象クラスと言ったりもします)

なので

というように具体的なArrayListというクラスで変数を宣言するのではなく、Listというinterface(仕様)で宣言するのが正しいです。

interfaceは仕様で、implementは「実装する」という意味です。

ArrayListはクラスで、implements Listしているので、Listの仕様に沿ったクラスとなります。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA