インタフェースについて

2.3 インタフェースについて

 Javaの仕組みの1つにインタフェース(interface)があります。インタフェース(interface)とは、ある特定の機能の概要を記述したものです。機能目的と機能が異なりますが、抽象クラスと似た仕組みになっています。
 次項よりインタフェースについて詳しく説明を行っていきます。

2.3.1 インタフェースの特徴

 インタフェースの特徴やメリットについて以下に示します。

インタフェースのメイン特徴
 ・ インタフェースのオブジェクト生成は行えない。
 ・ インタフェースで定義できるメンバはフィールド変数(定数のみ)、メソッド(抽象メソッド、具象メソッド)になる。
 ・ インタフェースにコンストラクタは定義できない。
 ・ インタフェースは、多重継承(実装)する事ができる。

インタフェースのその他特徴
 ・ インタフェースは継承(extends)と併用して利用できる。
 ・ インタフェースは別のインタフェースを継承することができる。

インタフェースのメリット
 ・ 同一のインタフェースを実装した全てのクラスは、同じ振る舞いをさせる事が可能になる。(標準化)
 ・ 通常のクラスや抽象クラスの継承と異なり、インタフェースは多重継承(実装)が可能になる。
 ・ インタフェースは機能の概要だけで本体の処理を持たない為、提供する機能の目的を理解し易くなる。(抽象化)

インタフェースとクラス(抽象クラス)の機能比較
 多重継承(実装)できるのが唯一インタフェースになり、この仕組みが利用する場合の重要な要素になります。

表 2.3.1

 ※1:インタフェースの継承元はインタフェースのみ。

継承とインタフェースの呼び方について

 あるクラスを元に新しいクラスを定義する事を「継承する」と呼びます。インタフェースも広義の意味では機能(定数)を継承していますが、クラスにインタフェースを利用する事を「実装する」と呼びます。


NEXT>> 2.4 インタフェースの利用方法