読み方 : インスタンスか
インスタンス化【instantiation】instantiate
インスタンス化とは?
オブジェクト指向プログラミングで、クラスなどの定義に基づいて実行時にメモリ上に領域を確保し、実際にデータの集合体を生成すること。

クラスとは、オブジェクトの構造や振る舞いを定義した雛形であり、それ自体はまだメモリ上に実体を持たない。例えば、「犬」というクラスがあるとすれば、そこには「名前」「年齢」といった属性や、「吠える」「走る」といった動作が定義されているが、この段階では特定の犬が存在しているわけではない。
インスタンス化を行うと、クラスの定義に従って実際のオブジェクトがメモリ上に作成される。先の例で言えば、「ポチ」という名前の特定の犬オブジェクトが生まれる。このとき、多くのプログラミング言語では、クラス内に定義された「コンストラクタ」(constructor)と呼ばれる特別なメソッドが自動的に呼び出され、オブジェクトの初期設定が行われる。
一つのクラスから複数のインスタンスを生成することができ、それぞれが独立したデータを保持する。「ポチ」と「タロウ」は同じ「犬」クラスから生まれたインスタンスであっても別の個体であり、名前や年齢は別々に管理される。これにより、同じ構造を持つオブジェクトを効率よく量産できる。
JavaやPythonなどの言語では、newキーワードやクラス名の呼び出しによってインスタンス化を明示的に行う。生成されたインスタンスは変数に代入して使用され、プログラムの処理が終わるか、delete文などで明示的に破棄されるまでメモリ上に存在し続ける。