ファイナライズ 【finalize】
概要
ファイナライズ(finalize)とは、完成させる、終了させる、完結させる、仕上げる、決着をつける、確定させる、などの意味を持つ英単語。光学ディスクのファイナライズ
CDやDVDなどの光学ディスクで、記録型メディア(CD-RやDVD-Rなど)の記録状態を完結させ、再生専用メディアと同じようなデータ構造にすることをファイナライズという。
この処理を行ったメディアにはそれ以上追記できなくなるが、再生専用機器との互換性が向上する。DVD-RWのような書き換え型の場合は、ファイナライズ後でもすべて消去して一から記録し直すことはできる。
当初は読み取り専用の規格だったものに後から記録型の規格が追加されたCDやDVDで必要な処理であり、例えばBlu-ray Discは当初から読み取り専用機器もメディアの追記を前提に設計されているためファイナライズの概念がない。
オブジェクト指向プログラミング言語のファイナライザ (finalizer)
オブジェクト指向プログラミング言語の仕様の一つで、不要なオブジェクトがガベージコレクションで回収される間際に呼び出される特殊なメソッドをファイナライザ(finalizer)という。
デストラクタ(destructor)に似た機能だが、実行中に不要になったオブジェクトを言語処理系が自動的に解放するガベージコレクタを備えた言語で用いられる。クラス定義などの中で決まった名前で定義される特殊なメソッドで、占有していたリソースを解放する処理など、破棄直前に行いたい処理を記述する。
ガベージコレクションは実行環境が自動的に行うため、ファイナライザを定義してもいつ起動されるか正確に知ることは難しい。実行時の環境次第では不要になった後もオブジェクトが存在し続け、結局プログラム終了までファイナライザが呼び出されないということも起こり得る。
(2019.7.10更新)