【Java入門】interface(インタフェース)の使い方総まとめ

こんにちは!エンジニアの中沢です。

Javaには初めに処理内容を具体的に書かず、後からメソッドの実装をして使用するためのinterface(インタフェース)があります。

この記事では、interfaceとは何かやinterfaceの使い方という基本的な内容から、

  • defaultメソッドの使い方
  • インタフェースのstaticメソッドの使い方
  • インタフェースと抽象クラスの違い

などの応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、interfaceのさまざまな使い方をわかりやすく解説します!

interfaceとは

interfaceは初めに処理内容を具体的に書かず、後からメソッドの実装をして使用するために使います。後からメソッドの実装をするため、処理を変えたい場合に有効です。interfaceは次のように記述します。

interfaceの具体的な使い方をこれから解説していきます。

interfaceの使い方

インタフェースでは定数とメソッドのみが定義できます。インタフェースのメンバ変数は自動的にpublic static finalが付けられるので定数になります。

インタフェースのメソッドは抽象メソッドと同様に、インタフェースを実装したクラスでメソッドを実装する必要があります。クラスにインタフェースを実装するにはimplementsを使用します。これらのインタフェースの使い方を次のプログラムで確認してみましょう。

[実行結果]

このプログラムではCalcインタフェースのcalcメソッドを、実装先のAddクラスとSubクラスのそれぞれで実装しています。このプログラムの実行結果からAddクラスでは足し算を行い、Subクラスでは引き算を行うというように処理を変更できていることが確認できました!

interfaceの使い方についてはこちらで詳しく解説しているので、ぜひ確認してください!

【Java入門】interfaceとimplementsの使い方を基礎の基礎から解説!
更新日 : 2019年4月16日

defaultメソッドの使い方

interfaceのdefaultメソッドを使うことで、処理内容を実装したメソッドを定義することができます。defaultメソッドの使い方を次のプログラムで確認してみましょう。

[実行結果]

このプログラムではCalcインタフェースのcalcメソッドを、実装先のAddクラスでオーバーライドせずにそのまま使用しています。Subクラスではcalcメソッドをオーバーライドして引き算の処理に変えています。

このプログラムの実行結果からAddクラスではdefaultメソッドを使って足し算を行い、Subクラスではオーバーライドして引き算を行うという処理ができていることが確認できました!

interfaceのdefaultメソッドの使い方についてはこちらで詳しく解説しているので、ぜひ確認してください!

【Java入門】interfaceとdefaultの使い方
更新日 : 2018年10月26日

インタフェースのstaticメソッドの使い方

インタフェースのstaticメソッドを使うことで、インスタンスを生成せずに直接メソッドを呼び出すことができます。インタフェースのstaticメソッドの使い方を次のプログラムで確認してみましょう。

[実行結果]

このプログラムではインタフェースのstaticメソッドを、Mainクラスから直接呼び出して使用しています。このプログラムの実行結果から、インタフェースでstaticメソッドが使用できることが確認できました。

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

最後にインタフェースと抽象クラスの違いについて解説します。抽象クラスでは複数のクラスを継承する多重継承はできませんが、インタフェースは多重継承のように複数のインタフェースを実装をすることができます。

複数のインタフェースを実装する方法を、次のプログラムで確認してみましょう。

[実行結果]

このプログラムではCalcクラスで、AddとSubの2つのインタフェースを実装しています。Calcクラスでは、実装した2つのインタフェースの変数NUM1、NUM2の両方を使用することができています。

このプログラムの実行結果から複数のインタフェースの実装ができることが確認できました!抽象クラスの使い方についてはこちらで詳しく解説しているので、ぜひ確認してください!

【納得Java】抽象クラス(abstract)を使うメリット
更新日 : 2019年4月8日

まとめ

いかがでしたか?今回はinterfaceの使い方について解説しました。インタフェースは後からメソッドの実装をするため、処理を変えたい場合に有効なのでぜひ覚えてくださいね。

もし、interfaceを使う方法を忘れてしまったらこの記事を確認してください!

エラーばかりでプログラミング学習が進まない、と悩んでいませんか?

プログラミング学習を始めたけれど、エラーの原因がよく分からなかったり、調べてみたけれど解決されず「どうやって進めればいいんだろう」と放置してそのまま挫折しかけていませんか?

一度進め方が分からなくなるとやる気も失せてしまいますよね。

そんなあなたにオススメしたいのが、「侍エンジニア塾」の無料体験レッスンです。独学で1000時間以上の学習が必要と言われているところを300時間に短縮する「プログラミング独学法」をお伝えします。

下記の無料体験レッスン予約カレンダーよりお申し込みいただけます。あなたのご相談を心よりお待ちしております。

LINEで送る
Pocket

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説