オブジェクト指向って結局...

データ(変数や変数の塊である構造体)とデータの振る舞い(関数)を関連づけて扱う
考え方。


考え方に過ぎないので、手続き型言語でもオブジェクト指向で記述することはできる。
但し、手続き型言語では制約が緩すぎてオブジェクト指向で記述することを書き手に
強制できないので、オブジェクト指向に則らない記述ができてしまう。


オブジェクト指向(OO)言語は手続き型言語をベースにオブジェクト指向に則った記述
を書き手に強制するための約束事を追加した言語であり、その約束事に従えば自然と
オブジェクト指向に則った記述になるようになっている。


オブジェクト指向を洗練(?)する目的でOO言語に導入されている構文の中には手続き型
言語では同等の記述を行えない構文も多い。


OO言語ではデータとデータの振る舞いをセットにした雛形をクラスと呼び、クラスが
メモリ上にロードされ実体をもった場合はその実体をオブジェクト(orインスタンス)と
呼んでいる。


OO言語ではメモリ上にロードされたクラスをオブジェクトとは呼ばない、メモリ上に
ロードされたクラスに対して更に実体化処理を行い生成した実体をオブジェクト
(orインスタンス)と呼んでいる。クラスの実体化をインスタンス化と呼ぶ。