インタフェース (情報技術)
ものごとの境界となる部分と、その境界でのプロトコル
インタフェース(英: interface)は、ものごとの境界となる部分と、その境界でのプロトコルを指す。コンピュータなどでは、コンピュータシステム内、あるいはシステム間のインタフェースや、人間と機械の間のインタフェース(ヒューマンマシンインタフェース)などがある。他分野の専門用語の借用になるが、界面という訳語がある。インターフェイスあるいはインターフェースなどと表記することもある。
ハードウェアインタフェース編集
コンピュータなどの情報機器ハードウェア間の通信を行う際の入出力ポートのコネクタ形状や、信号の送受信の方法(プロトコル)などを決めたもの。主にパラレル接続のものとシリアル接続のものに分けられるが、シリアル接続でもパラレルの制御用信号線や電源供給線が混ぜてあるものがほとんどである。またPCにおいてはパラレル接続での高速化が頭打ちなことから、各インタフェースのシリアル接続方式への移行が進んでいる(バス (コンピュータ)も参照)。
- 汎用でホットプラグ(機器の電源を入れたまま抜き差しできる)対応のもの
- シリアル
- USB
- Thunderbolt
- IEEE 1394
- イーサネット(100Baseまで)
- ExpressCard
- eSATA
- パラレル
- イーサネット (1000BASE-T)
- シリアル
- 一般的にホットプラグ非対応で汎用のもの。サーバ用にホットプラグ機能を付加したものもある。
- パラレル
- シリアル
- 汎用だがレガシーデバイス(旧世代のインタフェース)としてしばしば扱われるもの。PCカードの一部を除いてホットプラグには対応しない。
- 汎用ではなく、用途が限られるもの
ソフトウェアインタフェース編集
- ソフトウェア間の通信を行う際の情報の渡し方などを決めたもの。
- オブジェクト指向プログラミングにおいて、複数の種類のオブジェクトを多態性によって統一的に利用するため、境界部分の汎用的な共通規格を定義したもの。あるインタフェースに従ったメッセージを送受信できるようにすること、もしくはあるインタフェースに従った操作をできるようにすることを、そのインタフェースを実装する (implement) という。
JavaやC#などのプログラミング言語では、実装を持たない抽象型としてインタフェースをサポートする。これらの言語において、クラスは実装の多重継承をサポートしない代わりに、任意の数のインタフェースを実装することができる。
詳細は「インタフェース (抽象型)」を参照
ユーザインタフェース編集
コンピュータとユーザーがそれぞれ情報をやり取りする際の方式。詳しくはユーザインタフェースやヒューマンマシンインタフェースの記事を参照。
ユーザ・網インタフェース編集
ユーザ・網インタフェース は通信事業者の通信設備とエンドユーザー側の設備とを接続する点である。UNIと呼ばれ、光回線終端装置やターミナルアダプタにあたる。 ネットワーク同士を接続するものは網・網インタフェース (NNI) と呼ばれる。