オブジェクト指向が難しい3つの理由

オブジェクト指向が難しい3つの理由

オブジェクト指向でなぜ作るのかの本を読んだ内容をまとめておきたいと思います。

オブジェクト指向の起源

 

米ゼロックスに在籍していたケイさん率いるチームがオブジェクト指向というものを確立したみたいです。

 

オブジェクト指向はソフトウェア開発の総合技術と対象範囲が広い技術で、オブジェクト指向の前までは、
対象となるシステム全体から段階的に詳細化して、より小さい部分に分解していく開発手法でした。

 

仕様変更した際に修正範囲が広く、ソフトウェアの再利用も難しい

 

そこでオブジェクト指向は再利用しやすいように、ここの部品を強固にし独自性を高め
組み上げることで、修正を最小限に食い止めることができる。

 

これがオブジェクト指向ができた理由になります。

 

そこから大規模の開発の際に
クラス
ライブラリ
フレームワーク
などの再利用部品を活用するようになりました。
オブジェクト指向が難しい理由

 

その1
オブジェクト指向を勉強する時に出てくる用語がそもそもよくわからない事件
継承、ポリモーフィズム、スーパークラス、サブクラス、インターフェース、属性、オーバーライド、コンストラクタ、例外など

 

そしてこれらの言葉は相対的に意味や解釈が変わり、用語の定義が曖昧になり混乱する。

 

その2
比喩の乱用
オブジェクト指向を理解するにあたって、適切な比喩を使えば、対象とするものをズバリと説明する事ができるが、反対に
不適切な比喩の使いすぎは危険です。

 

動物がスーパークラス、哺乳類はサブクラス

 

人は生年月日という属性を持つ

 

具体位的な人である川田さんに年齢を教えてくださいというメッセージを送ると
26才ですと答えが帰ってくる

 

このような説明は感覚的に理解する上ではいいのかもしれませんが、
比喩だけが、頭に残り実際は間違った解釈をしてしまうことになる恐れがある。

 

その3
なんでもオブジェクトに例える
よくオブジェクト指向は現実世界と照らしあわせて説明することがありますが、厳密には違います。

 

なんとなく理解する分には現実世界と似ているものを比喩するのはいいが、全てを現実世界に当てはまるとオブジェクト指向って結局なんだ?ってなります。

 

そしてオブジェクト指向を現実世界と比喩したことで、オブジェクト指向をを正しく理解する上で大きな障壁になります。

 

たくさん難しい用語があり、よくわからない比喩表現、なんでもオブジェクトに例える
この3つの混乱を一気に紹介することが、オブジェクト指向を難しくさせる要因になります。