ちょっとねたふり。俺のOOの定義はこう

OOPLはclass(それに類する)キーワードを持つ言語
#まんせー

OOPは情報隠蔽・カプセル化・継承・ポリモを使用すること
#まんせー。ただし場合によってはただのグローバル関数が役に立つこともある
#その意味で俺はOOP原理主義否定派

OODはOOPでプログラムする前提で設計すること
#そもそもプログラミングは設計と区別できるようなものではないからOOD自体よく分からん

OOAはドメインをモデリングするときにOOという言葉に関係のある方法論を使うこと
#モデリングが方法論でうまく行くとは思わない。モデリングはソフトウェアだけではなく
#科学的思考を要求するすべての分野で必要とされていることであり、人間の「知性」に
#あたることなのだから、うまく行く方法論があるなら歴史的発見だ。

OOは使う人・文脈によってころころ意味が変わる。ただのイメージ。