API
広義の意味では
ソフトウェアコンポーネント同士が互いに情報をやりとりするのに使用するインタフェースの仕様
サブルーチン、データ構造、オブジェクトクラス、変数など
APIには様々な形態がある
POSIXのような国際標準規格
マイクロソフトのWindows APIのようなベンダーによる文書
プログラミング言語の標準ライブラリ
C++のStandard Template LibraryやJava APIなど
APIの重要な役割
システム/サービス提供者が公式に外部仕様を定義し、管理している各種機能を利用するためのインタフェースを提供すること アプリケーションがシステム/サービスを操作するにあたり、APIにだけ依存することで互換性の問題を避けることができる
バグ修正などで内部仕様に変更があれば、APIを利用しないアプリケーションは動かなくなってしまう
API外部仕様の後方互換性を維持したままである限りは、API仕様に則って開発されたアプリケーション側の変更は必要ない