マーカーインタフェース
マーカーインタフェース (marker interface) とは、オブジェクト指向プログラミングにおいて、メソッドやフィールドが一切定義されていないインタフェース。
Javaではオブジェクトをシリアライズできることを示すSerializable
、Object
のclone()
メソッドが呼び出せることを示すCloneable
、リストにおいて高速なランダムアクセスを実現するRandomAccess
がある。
いずれもinstanceof
の右オペランドとして使用され、インスタンスのクラスごとに実装を選択するなど、実行時にオブジェクトに関する「ヒント」を得るために使われている。
Javaにおけるマーカーインタフェースの書き方の例を示す。
interface SomeMarkerInterface {
}
関連項目
編集- マーカー
- インタフェース (抽象型)
- アノテーション - コンパイル時または実行時にプログラミング要素に関するヒントを得るために使われる。マーカーインタフェースはクラスや他のインタフェースにのみ付与できるのに対し、アノテーションはより広い範囲に付与することができる。