Instance (computer science)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Instance (computer science)の意味・解説 

インスタンス

(Instance (computer science) から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/07/24 04:02 UTC 版)

計算機科学でのインスタンスinstance)とは実体のことをいう。instanceは英語で「実例」を意味する。

オブジェクト指向におけるインスタンス

オブジェクト指向言語においては、多くの場合クラスと呼ばれるものを元に作成したオブジェクトの実体を指す。データモデルやオブジェクト指向設計においても用いられる用語である。 インスタンスを生成するプロセスをインスタンス化 (instantiation、動詞形instantiate)という。

概要

オブジェクト指向において、クラスあるいは型はオブジェクトの分類(分類概念)や集合に相当している。 あるクラス C のインスタンスとは、C という分類に属する(分類される)オブジェクトのことである。 Smalltalkの影響が強い言語では、クラス自体もまたオブジェクトとして扱うことができる(これをクラス・オブジェクトと言う)。そのような場合は特に、「クラスC のオブジェクト」といった言い方では、「クラスC に属するオブジェクト」の意味か「クラスC そのものを表すオブジェクト」の意味か曖昧になる。この場合、「クラスC のインスタンス」という言い方が利用できる。 クラス・オブジェクトと対比して、「インスタンス・オブジェクト」という言葉も使われている。

オブジェクト指向におけるインスタンスという言葉は、元々Sketchpadという言語の"Master"から"Instance"を生成するという仕組み"instance drawings"が由来となっている用語である。[1]そしてC++と並びオブジェクト指向の概念を築づいたSmalltalkが、この"Master"と"Instance"の関係をクラスから生成されたオブジェクトになぞらえ、クラスから生成されたオブジェクト(インスタンス・オブジェクト)の意味で使い始めインスタンス・オブジェクトを表す言葉として定着させた。[2]

静的型付けのオブジェクト指向言語では珍しいが、動的型付けのオブジェクト指向言語の多くは、メタクラスをサポートし、クラス自体もオブジェクトとして扱うことができる(クラス・オブジェクト)。クラス・オブジェクトは、端的に言えば変数に束縛できるクラスである。クラス・オブジェクト、インスタンス・オブジェクト双方を変数に束縛した際どちらもオブジェクトとして振る舞い見かけ上区別はつかない。例えばクラス・オブジェクト、インスタンス・オブジェクト双方が readFrom: というメソッドを持っていた場合、どちらも #readFrom: メッセージを送ってやるとエラーも起こさずそれぞれのメソッドを実行する。

Objective-CPythonにおいてはクラス・オブジェクトとインスタンス・オブジェクトの明確な区別が行われている。[3][4]

メタクラスがサポートされているシステムでは、クラス・オブジェクトもまた別のクラス(メタクラス)のインスタンスであるということがありうる。この場合「クラス・オブジェクトはインスタンスではない」とは言えないので、注意されたい。


脚注

関連項目

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Instance (computer science)」の関連用語

Instance (computer science)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Instance (computer science)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのインスタンス (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS