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

中沢 丈
書いた人 中沢 丈
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

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

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

この記事では、

・interfaceとは
・interfaceの使い方

という基本的な内容から、

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

などの応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、interfaceのさまざまな使い方をわかりやすく解説します!

interfaceとは

interfaceは初めに処理内容を具体的に書かず、後からメソッドの実装をして使用するために使います。

後からメソッドの実装をするため、処理を変えたい場合に有効です。

interfaceは次のように記述します。

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

interfaceの使い方

インタフェースでは定数とメソッドのみが定義できます。

インタフェースのメンバ変数は自動的に「public static final」が付けられるので定数になります。

インタフェースのメソッドは抽象メソッドと同様に、インタフェースを実装したクラスでメソッドを実装する必要があります。

クラスにインタフェースを実装するには「implements」を使用します。

これらのインタフェースの使い方を次のプログラムで確認してみましょう。

[実行結果]

このプログラムではCalcインタフェースのcalcメソッドを、実装先のAddクラスとSubクラスのそれぞれで実装しています。

このプログラムの実行結果からAddクラスでは足し算を行い、Subクラスでは引き算を行うというように処理を変更できていることが確認できました!

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

defaultメソッドの使い方

interfaceのdefaultメソッドを使うことで、処理内容を実装したメソッドを定義することができます。

defaultメソッドの使い方を次のプログラムで確認してみましょう。

[実行結果]

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

Subクラスではcalcメソッドをオーバーライドして引き算の処理に変えています。

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

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

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

インタフェースのstaticメソッドを使うことで、インスタンスを生成せずに直接メソッドを呼び出すことができます。

インタフェースのstaticメソッドの使い方を次のプログラムで確認してみましょう。

[実行結果]

このプログラムではインタフェースのstaticメソッドを、Mainクラスから直接呼び出して使用しています。

このプログラムの実行結果から、インタフェースでstaticメソッドが使用できることが確認できました。

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

最後にインタフェースと抽象クラスの違いについて解説します。

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

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

[実行結果]

このプログラムではCalcクラスで、AddとSubの2つのインタフェースを実装しています。

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

このプログラムの実行結果から複数のインタフェースの実装ができることが確認できました!

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

まとめ

いかがでしたか?

今回はinterfaceの使い方について解説しました。

インタフェースは後からメソッドの実装をするため、処理を変えたい場合に有効なのでぜひ覚えてくださいね。

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

Javaカリキュラム無料公開中!
この記事はJava入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Java学習に必要な情報を一つにまとめていますので効率よくJavaを学ぶことが出来ます。この機会に是非活用していただければと思います。


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーランスをされている市川友哉さん。33歳で、プログラミングを学び始め、4ヶ月という短い期間でフリーランスエンジニアとして独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


最短でJavaを習得したい方へ

もし、あなたが、

「難しすぎて学習が全然進まない」
「学習量が膨大でゴールが見えない」
「エラーを解決するのに何日もかかってしまう」

など、プログラミング学習やキャリアに関してお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_bannar-java2

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

中沢 丈

中沢 丈

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

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