コールバック
コールバック 【callback】
コールバックとは、コンピュータプログラム中で、ある関数などを呼び出す際に別の関数などを途中で実行するよう指定する手法のこと。呼び出し側の用意した関数などを、呼び出し先のコードが「呼び出し返す」(callback)ように登録する。
コールバックを受け付ける関数などは、他の関数を引数などの形で受け取って内部で呼び出す仕組みがあらかじめ実装されている。プログラマは自らが記述した関数を用意して引き渡すことで、その関数から呼び出して実行することができる。コールバックされる関数のことを「コールバック関数」という。
コールバックの仕組みは汎用的・抽象的なコードの一部を、開発者が自らが必要とする個別的・具体的な処理で置き換えるためによく利用され、ライブラリやフレームワークを利用したソフトウェア開発で多用される。
例えば、あるプログラミング言語の標準ライブラリが高速で汎用的な並べ替え(ソート)関数を提供する場合に、二つの変数の比較を行う関数をコールバック関数に指定できるようにしておけば、開発者は二数を比較して結果を返す関数を記述するだけで、独自のデータ構造や複雑な比較処理に基づくソート関数を実装することができる。実際、C言語のqsort関数やJavaScriptのArray.sortメソッドは、比較を行うコールバック関数を渡すことができるようになっている。