ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
オブジェクト指向の環境やプログラミング言語で、実行される際に作成されるオブジェクトの実体のこと。英語の原義では、(論拠となる)例、実例、例証のこと。
インスタンスには寿命が存在し、プログラムの実行中のどこかのタイミングで消える。
C++では明示的に削除することが可能で、また「スコープ」から外れた場合には自動的に消される。一方で、Javaのように明示的には削除できず、全てガベージコレクションに任せる仕様のものもある。
HOGE hoge;
このように、ローカル変数としてクラスを実体宣言した場合、{}の中つまりそのブロック構造の中がスコープであり、そのスコープが終了した時点で、一般の変数と同様にインスタンスの寿命が切れる。寿命が切れた時点で、クラスのデストラクターが呼び出される。if文、for文、while文などが{}でブロックになるほか、関数そのものも{}でブロックである。また、特に何もなく{}でブロックを作ることもできる。
HOGE *hoge = new HOGE;
一方、このようにクラスをnewで動的確保した場合、明示的にdeleteするまで寿命は継続する。deleteした時点でインスタンスの寿命が切れてデストラクターが呼び出されるが、deleteしない場合、プログラムが終了してもデストラクターが呼ばれることはない。
プログラミング言語以外でも、インスタンスという用語が使われることがある。
16ビット版Microsoft Windowsでは、Windows 3.1までは、実行されたプログラム1個をインスタンスと呼んでいた。
16ビットWindowsの場合、ノンプリエンプティブマルチタスク環境であったため、通常のマルチタスクでいうところのプロセスのことを、呼び分ける目的でインスタンスと呼んだ。
Macromedia FLASHの場合は、ムービー上に置いたシンボルのことをインスタンスという。
シンボルという呼称だけでは違うキーフレームに同じシンボルを配置した時に区別できなくなるため、違う呼称がある。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます