>>741 批判的な視点で見ている者ですが、簡単に述べます。
「オブジェクト指向」の本質は、オブジェクトまたはインスタンスに紐づくようにした
スコープを持つプロパティー(インスタンス変数)やメソッドを使い、継承や多態などを
組み合わせてプログラムを構築していく方法だと捕らえています。
利点は、オブジェクトに関連し必要な機能やインタフェースがオブジェクト自身に
関連付けられているため、データ(オブジェクト、プロパティー)と処理の一体化が図られ、
見通しのようソフトウエアの構築などの面に色々と役立つ筈だった(あえて過去形)と思います。
欠点は、特に型クラスと継承を使うスタイルのオブジェクトでは、複合型したデータ構造において
メンバに対するアクセス制御とアクセサによる穴あけが局面によって融通が効かず、
階層的でシンプルなスコープ管理に劣ること、複合型したデータ構造の継承が
入り組んだ依存構造を作り出し見通しが悪く解読やデバッグのしにくいプログラム構造を
形成しがちなこと。動的に生成したオブジェクトが広範なスコープ・extentを持つ
データの集合体のような役目を持って一人歩きし、アクセサや多数のメソッドcallを繰り返して
各階層を行ったりきたり、本来シンプルになるはずだのプログラムが、なにやってんだがわからなくなることなど
欠点多数です