クラス
オブジェクト
インスタンス

クラスとオブジェクトとインスタンスの関係

More than 3 years have passed since last update.


クラスとインスタンス

クラスは設計図で、インスタンスはその設計図を実体化したもの

(実体化することをインスタンス化という)。

例えば、人間という言葉を想像した時に、思い浮かべるものは、特定の誰かではなく、漠然とした人間を思い浮かべる。ただ、自分も人間だし、自分の友達や親も人間である。

この始めに思い浮かべた人間がクラスで、自分のと友達や親といった実体があるものがインスタンスと考えてもよい。


オブジェクト指向

オブジェクト指向とは、オブジェクト同士の相互作用として、システムの振る舞いをとらえる考え方。

このオブジェクト指向によって、考えられたのが、クラスやインスタンス。

人クラス、猫クラス、家クラスなどそれぞれクラスを用意することで、それぞれの振る舞いをとらえることができるようになる。なので、クラスはオブジェクトである。

同様に、自分インスタンス、自分が飼っている猫インスタンスなどそれぞれのインスタンスを用意することで、それぞれの振る舞いをとらえることができるようになる。なので、インスタンスもオブジェクトである。


まとめる

まとめると

・クラスはオブジェクトである。

・インスタンスはオブジェクトである。

・クラスをインスタンス化したものがインスタンス。

(クラスは設計図でインスタンスは実体化される。)

オブジェクト指向の考えに則って作られたのがクラスとインスタンスです。

結局、クラスもインスタンスもオブジェクトなのです。