クラスとは
クラスは、オブジェクトを作成するための設計図のようなものです。この設計図には、作成される「モノ」の属性(プロパティ)やメソッド(機能)が含まれています。たとえば、自動車を例にとると、クラスには自動車が持つべき機能(走る、止まる、曲がるなど)や属性(車体の大きさ、燃費などのスペック)が定義されています。設計図がなければ具体的な自動車を製造できないのと同様に、クラスがなければオブジェクトを生成できません。
オブジェクトとは
オブジェクトは、クラスをもとに生成された具体的な実体です。クラスで定義された属性やメソッドを持つ、具体的な存在を指します。例えば、「Person」というクラスがあるとき、そのクラスから生成された「Alice」や「Bob」などがオブジェクトに該当します。オブジェクトはクラスの仕様に基づいて生成され、独自のデータを保持します。
インスタンスとは
インスタンスは、クラス(設計図)をもとに実体化されたオブジェクトのことです。自動車の例で言えば、クラス(設計図)をもとに製造された具体的な自動車がインスタンスとなります。そして、クラスをもとにインスタンスを作成することをインスタンス化と呼びます。インスタンス化により、プログラム内でクラスの具体的な実体を操作できるようになります。
オブジェクトとインスタンスの違い
- オブジェクト: クラスから生成された実体全般を指します。クラスの属性やメソッドを持つ具体的な存在です。
- インスタンス: クラスから生成された特定のオブジェクトを指します。インスタンス化されたオブジェクトの一つ一つを指す際に使われます。
一般的には、「オブジェクト」と「インスタンス」はほぼ同義で使われますが、インスタンスという言葉は特に「クラスから生成された具体的なオブジェクト」という意味合いで使用されます。