メンテナンスしているHPのURL一覧

メンテナンスしているHPのURL一覧

オブジェクト指向とは

アラン・ケイ博士は
1970年、ゼロックス社のパロアルト研究所(現在、ゼロックスの完全子会社)の設立に参加し、
1970年代に史上初の本格的GUIを備えた暫定的ハードウエアである「Alto」と、エンドユーザーが自在にプログラミング可能で、それを全方面からサポートする機能を有する暫定的環境「Smalltalk」の開発において指導的立場をとった。

このSmalltalk環境の動作するAlto(暫定ダイナブック)を見学する機会を得たスティーブ・ジョブズが、そのアイデアを大いに取り入れてLisa、続くMacintoshを開発した、というのは有名な話である。

ケイとパロアルト研究所の同僚は、オブジェクト指向プログラミングというアイデアの生みの親で、オブジェクト指向と言う言葉は、Smalltalkのプログラミングスタイルを説明するために作られた。
⇒「クラス」と「オブジェクト」を備えた言語機能と自らのアイデアである「メッセージング」と組み合わせて「オブジェクト指向」と称した。後にビャーン・ストラウストラップにより「カプセル化・継承・ポリモーフィズム」として再定義されている。

上記のことから、オブジェクト(=モノ)指向とは現実世界の事象をコンピューター上で表現する事で抽象化された分かりやすいプログラムを作る技術ではなく、
クラスをメモリ上に展開したインスタンス(≒オブジェクト)中心のプログラムを作る考え方である。

クラスにはデータ、データに対する手続き(メソッド)が定義されており、オブジェクト指向では、クラス内メソッドを実行する事=メッセージをやり取りする(=メッセージパッシング)。
また、クラスにはカプセル化、継承等の仕組みがプログラム言語の仕様として用意されている、これにより保守性、拡張性が高まる。