インスタンス
用語
「インスタンス」(instance)についての説明です。
説明
![生徒 student](./img/chara/student_80.webp)
インスタンスって何ですか?
![先生 teacher](./img/chara/teacher_80.webp)
インスタンスとは、あらかじめ定義されたプログラムやデータ構造を、実際にメモリ上で処理・実行できる状態にしたもののことです。IT業界では、「実際に作られた何か、動いている何か」という意味でも使われます。例えば、オブジェクト指向プログラミングにおいては、クラスから生成された実体がインスタンスと呼ばれます。
![生徒 student](./img/chara/student_80.webp)
クラスとインスタンスの違いは何ですか?
![先生 teacher](./img/chara/teacher_80.webp)
クラスとは、プログラムで定義された設計書のようなもので、インスタンスを生成するための青写真です。一方で、インスタンスとは、クラスから実際に生成されたオブジェクトのことです。クラスが設計書であるのに対し、インスタンスは実際に作られた製品のようなものと言えます。
![生徒 student](./img/chara/student_80.webp)
オブジェクト指向プログラミングにおけるインスタンスの例を教えてください。
![先生 teacher](./img/chara/teacher_80.webp)
例えば、生徒クラスがあったとして、そのクラスから生成された実体である、具体的な生徒のオブジェクトがインスタンスです。あるいは、自転車クラスがあったとして、そのクラスから生成された実体である、具体的な自転車のオブジェクトがインスタンスとなります。
![生徒 student](./img/chara/student_80.webp)
インスタンスを生成するにはどうしたらいいですか?
![先生 teacher](./img/chara/teacher_80.webp)
インスタンスを生成するには、まずクラスを定義します。次に、そのクラスから新しいインスタンスを作成するためのコードを書きます。このとき、コードによって生成されたインスタンスは、メモリ上に展開され、プログラムの実行中にアクセスすることができます。
![生徒 student](./img/chara/student_80.webp)
インスタンスとオブジェクトの違いは何ですか?
![先生 teacher](./img/chara/teacher_80.webp)
インスタンスとオブジェクトは、基本的に同じ意味で使われます。ただし、オブジェクトは主にオブジェクト指向プログラミングの世界で使われる言葉であり、インスタンスはオブジェクトの一種として特定のクラスから生成されたものを指します。
まとめ
「インスタンス」(instance)とは、あらかじめ定義されたコンピュータプログラムやデータ構造などを、メインメモリ上に展開して処理・実行できる状態にしたものを指します。
例えば、オブジェクト指向プログラミングにおいては、クラスから生成された実体がインスタンスです。
つまり、クラスを設計図として考えると、その設計図を元に作られた具体的なオブジェクトがインスタンスになります。
IT業界では、「実際に作られた何か、動いている何か」を指す言葉としても使われます。
インスタンス化することで、プログラムやデータ構造を実際に利用することができます。