インタフェース (情報技術)

情報技術において、インタフェース（）は、情報の授受を行うシステム間のプロトコル、または、その接続を行う部分をいう。コンピュータシステムの各部、あるいはシステム間の接続や、人間と機械の間の入出力部（ヒューマンマシンインタフェース）などがある。インターフェイスあるいはインターフェースなどと表記することもある。

ハードウェアインタフェース 

コンピュータなどの情報機器ハードウェア間の通信を行う際の入出力ポートのコネクタ形状や、信号の送受信の方法（プロトコル）などを決めたもの。主にパラレル接続のものとシリアル接続のものに分けられるが、シリアル接続でもパラレルの制御用信号線や電源供給線が混ぜてあるものがほとんどである。またPCにおいてはパラレル接続での高速化が頭打ちなことから、各インタフェースのシリアル接続方式への移行が進んでいる（バス (コンピュータ)も参照）。

 汎用でホットプラグ（機器の電源を入れたまま抜き差しできる）対応のもの
 シリアル
 USB
 Thunderbolt
 IEEE 1394
 イーサネット（100Baseまで）
 ExpressCard
 eSATA
 パラレル
 イーサネット (1000BASE-T)
 一般的にホットプラグ非対応で汎用のもの。サーバ用にホットプラグ機能を付加したものもある。
 パラレル
 SCSI
 PCI
 PCI-X
 シリアル
 PCI-Express
 シリアルSCSI
 シリアルATA
 InfiniBand
 ファイバーチャネル
 汎用だがレガシーデバイス（旧世代のインタフェース）としてしばしば扱われるもの。PCカードの一部を除いてホットプラグには対応しない。
 パラレル
 XTバス
 ISA
 EISA
 パラレルポート（IEEE 1284、セントロニクス規格準拠）
 NuBus
 Cバス
 IDE
 PCカード
 シリアル
 PS/2コネクタ
 シリアルポート
 RS-232
 EIA-422
 ADB
 汎用ではなく、用途が限られるもの
 シリアル
 MIDI - 電子楽器の制御
 S/PDIF - 音声の入出力
 パラレル
 GP-IB - 計測機器の制御
 フロッピーディスク

ソフトウェアインタフェース 
 ソフトウェア間の通信を行う際の情報の渡し方などを決めたもの。
 API (Application Programming Interface)
 ABI (Application Binary Interface)
 プロセス間通信
 ネットワーク

 オブジェクト指向プログラミングにおいて、複数の種類のオブジェクトを多態性によって統一的に利用するため、境界部分の汎用的な共通規格を定義したもの。あるインタフェースに従ったメッセージを送受信できるようにすること、もしくはあるインタフェースに従った操作をできるようにすることを、そのインタフェースを実装する (implement) という。

JavaやC#などのプログラミング言語では、実装を持たない抽象型としてインタフェースをサポートする。これらの言語において、クラスは実装の多重継承をサポートしない代わりに、任意の数のインタフェースを実装することができる。

ユーザインタフェース 
コンピュータとユーザーがそれぞれ情報をやり取りする際の方式。詳しくはユーザインタフェースやヒューマンマシンインタフェースの記事を参照。

ユーザ・網インタフェース 
ユーザ・網インタフェース は通信事業者の通信設備とエンドユーザー側の設備とを接続する点である。UNIと呼ばれ、光回線終端装置やターミナルアダプタにあたる。
ネットワーク同士を接続するものは網・網インタフェース (NNI) と呼ばれる。

関連項目 
 OSI参照モデル
 通信プロトコル

出典 

電子工学
ソフトウェア