>>369
それは、ずいぶん違うと思うが。

オブジェクト指向はプログラミングの分析/設計手法のひとつ。オブジェクト指向だけ取り出して説明すると
(?_?) となりがちだけど、それ以前に主流だった構造化と対比して考えるのが理解しやすいと思うな。

中から大規模のプログラムを組むときに、どうやって分析/設計すればいいのか。プログラミングに限らず、
複雑なシステムを扱う場合の基本原則は古代ローマの昔より

 分割し、そして統治せよ

しか存在しないんだが、ここでプログラムを分割するときの着眼点の違いから各種設計手法が出てくる。

構造化ではプログラムを「手続き」を中心とした単位に分割することで、実現を目指す。分割するための具体
的な戦略としては、さらにトップダウンとボトムアップがある。

トップダウン
 1. プログラム全体をひとつのモジュールと考える。
 2. そのモジュールを実現するために必要な、サブモジュールを考える。サブモジュールの組み合わせとし
   て現在のモジュールを記述する。
 3. サブモジュールをさらに小さなサブモジュールに分割。以下 2, 3 を繰り返して、実際のプログラミング言
   語で記述できるレベルまで詳細化を進める。

ボトムアップは逆に、小さなモジュールを積み上げていって目的のプログラムを作るという戦略。いずれにせ
よ注目するのはプログラムの「機能」で、それを「手続き」の積み重ねとしてモデリングする。

対してオブジェクト指向では、プログラムをオブジェクトに分割することで実現を目指す。オブジェクトとは独
立した状態(データ)と手続き(メソッド)を持ち、他のオブジェクトと相互作用する実体。さらにオブジェクト間
の関係を考察しクラス階層を作り上げることで、シンプルで汎用性の高い記述を行えるようにする。