オブジェクト指向プログラミングにおけるオブジェクト・クラス・インスタンスの違いについて

オブジェクト指向プログラミングにおけるオブジェクト・クラス・インスタンスの違いについて

swiftを学んでいるので、備忘録代わりにココに書いておこう!

オブジェクト=概念・対象物
オブジェクト指向プログラミングでは、全てをオブジェクト(モノ, 対象物)として捉えています。
例えば、イス、机、人間などなど。
char

クラス=定義・設計図
オブジェクトを定義するために、クラス(定義書)を作ります。
イスとは、人が座るもの。型番がある。背もたれがあったりなかったりするモノ、
机とは、読書したり事務したりするモノ
人間とは(以下略)
http://ja.wikipedia.org/wiki/椅子

インスタンス=実例・具体例
インスタンスとはクラスを元に、実際に生成したモノです。
イス=型番123、背もたれアリ、値段250円、アマゾンで買った、最初からガタガタしているよ、この折りたたみ椅子!
p_chair_al

ついでにメソッド(方法)&プロパティ(性質)についても書いておこう
クラスを定義する時に、一緒に作ります。
プログラマ的に言ってしまうと
メソッド=クラスに付随する関数
プロパティ=クラスに付随する変数

車クラスというのがあったら
car->run(int speed) みたいなのがメソッド。走る速度を引数で受け取って、走りだす動作をする(クラス内関数)
car->personみたいに乗車している人数を保持しているのがプロパティ(クラス内変数)

カプセル化とか継承とか、終わらなくなってくるので、ここいらへんで終了!