読み方 : インスタンスか

インスタンス化【instantiation】instantiate

インスタンス化とは?

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

クラスとは、オブジェクトの構造や振る舞いを定義した雛形であり、それ自体はまだメモリ上に実体を持たない。例えば、「犬」というクラスがあるとすれば、そこには「名前」「年齢」といった属性や、「吠える」「走る」といった動作が定義されているが、この段階では特定の犬が存在しているわけではない。

インスタンス化を行うと、クラスの定義に従って実際のオブジェクトメモリ上に作成される。先の例で言えば、「ポチ」という名前の特定の犬オブジェクトが生まれる。このとき、多くのプログラミング言語では、クラス内に定義された「コンストラクタ」(constructor)と呼ばれる特別なメソッドが自動的に呼び出され、オブジェクトの初期設定が行われる。

一つのクラスから複数のインスタンスを生成することができ、それぞれが独立したデータを保持する。「ポチ」と「タロウ」は同じ「犬」クラスから生まれたインスタンスであっても別の個体であり、名前や年齢は別々に管理される。これにより、同じ構造を持つオブジェクトを効率よく量産できる。

JavaPythonなどの言語では、newキーワードやクラス名の呼び出しによってインスタンス化を明示的に行う。生成されたインスタンスは変数に代入して使用され、プログラムの処理が終わるか、delete文などで明示的に破棄されるまでメモリ上に存在し続ける。

他の辞典等による「インスタンス化」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。