一言でいうと
「インスタンス」とは、プログラムの設計図から実際に作られた、動いている物体のことです。設計図そのものではなく、その設計図を使って実際に作った実物のようなイメージです。
もう少し詳しく
わかりやすくするために、クッキーの例で説明します。
クッキーの作り方の本(レシピ)があったとします。この本が「クラス」という設計図です。この本を使って、実際にクッキーを焼きました。焼き上がったクッキーが「インスタンス」です。
同じレシピから何個もクッキーを焼けます。同様に、1つの設計図からたくさんのインスタンスを作ることができます。また、焼きたてのクッキーもあれば、冷めたクッキーもあります。同じように、インスタンスごとに異なる状態(データ)を持つことができるのです。
プログラムの世界でも全く同じ考え方です。設計図に書かれた機能を使って、実際に動く存在を作ります。それがインスタンスです。
よく使われる場面
エラーログサイトでは「インスタンスが起動できません」といった表現が出てきます。これは「設計図をもとに作られた、実際に動くプログラムが起動できない」という意味です。また「このインスタンスのメモリ使用量が多い」というのは「この実際に動いているプログラムが、たくさんのメモリを使っている」という意味になります。
関連する言葉
- クラス:インスタンスの設計図
- オブジェクト:プログラム内で扱う物体全般の呼び方
- メソッド:インスタンスが持つ動作・機能