インタフェースについて
2.3 インタフェースについて
Javaの仕組みの1つにインタフェース(interface)があります。インタフェース(interface)とは、ある特定の機能の概要を記述したものです。機能目的と機能が異なりますが、抽象クラスと似た仕組みになっています。
次項よりインタフェースについて詳しく説明を行っていきます。
2.3.1 インタフェースの特徴
インタフェースの特徴やメリットについて以下に示します。
インタフェースのメイン特徴
・ インタフェースのオブジェクト生成は行えない。
・ インタフェースで定義できるメンバはフィールド変数(定数のみ)、メソッド(抽象メソッド、具象メソッド)になる。
・ インタフェースにコンストラクタは定義できない。
・ インタフェースは、多重継承(実装)する事ができる。
インタフェースのその他特徴
・ インタフェースは継承(extends)と併用して利用できる。
・ インタフェースは別のインタフェースを継承することができる。
インタフェースのメリット
・ 同一のインタフェースを実装した全てのクラスは、同じ振る舞いをさせる事が可能になる。(標準化)
・ 通常のクラスや抽象クラスの継承と異なり、インタフェースは多重継承(実装)が可能になる。
・ インタフェースは機能の概要だけで本体の処理を持たない為、提供する機能の目的を理解し易くなる。(抽象化)
インタフェースとクラス(抽象クラス)の機能比較
多重継承(実装)できるのが唯一インタフェースになり、この仕組みが利用する場合の重要な要素になります。
表 2.3.1
※1:インタフェースの継承元はインタフェースのみ。
継承とインタフェースの呼び方についてあるクラスを元に新しいクラスを定義する事を「継承する」と呼びます。インタフェースも広義の意味では機能(定数)を継承していますが、クラスにインタフェースを利用する事を「実装する」と呼びます。