コールバック 【callback】

概要

コールバック(callback)とは、コンピュータプログラム中で、ある関数などを呼び出す際に別の関数などを途中で実行するよう指定する手法のこと。呼び出し側の用意した関数などを、呼び出し先のコードが「呼び出し返す」(callback)ように登録する。

コールバックを受け付ける関数などは、他の関数引数などの形で受け取って内部で呼び出す仕組みがあらかじめ実装されている。プログラマは自らが記述した関数を用意して引き渡すことで、その関数から呼び出して実行することができる。コールバックされる関数のことを「コールバック関数」という。

コールバックの仕組みは汎用的・抽象的なコードの一部を、開発者が自らが必要とする個別的・具体的な処理で置き換えるためによく利用され、ライブラリフレームワークを利用したソフトウェア開発で多用される。

例えば、あるプログラミング言語標準ライブラリが高速で汎用的な並べ替えソート関数を提供する場合に、二つの変数の比較を関数コールバック関数に指定できるようにしておけば、開発者は二数を比較して結果を返す関数を記述するだけで、独自のデータ構造や複雑な比較処理に基づくソート関数実装することができる。実際、C言語のqsort関数JavaScriptArray.sortメソッドは、比較をコールバック関数を渡すことができるようになっている。

コールバックの具体的な実装プログラミング言語の仕様により異なり、C言語のように関数へのポインタを渡す方式や、関数オブジェクトクロージャを渡す方式がよく知られる。

通信におけるコールバック接続

アナログ電話回線やISDN回線など呼び出し(call)を伴う通信回線で、相手先を一旦呼び出し、すぐに相手側から発信し返して接続を確立する方式をコールバック接続という。

通常の発信・接続と違うのは(本来の)着信側が通話料・通信料を負担する点で、異なる地方や国の間の通話で着信側から掛けたほうが通話料金が安い場合や、業務上の理由などで着信側へ課金させたい場合(社員の自宅から会社へのリモートアクセスなど)に利用される。

最初の発呼時に短時間接続して掛け返す電話番号などを通知してすぐ切断してコールバックする方式(課金方式)と、通信事業者の提供する番号通知サービスなどを利用して指示をい、最初の発呼時には接続せずにコールバックする方式(無課金方式)がある。

(2018.4.18更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる