オブジェクト指向でなぜつくるのか - 第1章

 第1章:オブジェクト指向はソフトウェア開発を楽にする技術 を読んでの所感

 

 この章は「オブジェクト指向とはどのような存在なのか」ということを説明しています。本書では、オブジェクト指向を一言で表現すると「難しいソフトウェア開発を楽に行うための総合技術」と書いてあります。

確かに、オブジェクト指向をうまく使えば、ソフトウェア開発は楽に変更にも強くなる気がします。

個人的に読んでいて重要なのは見出しと以下の二点かなと思いました。

1. オブジェクト指向の影響範囲

2. オブジェクト指向の理解を阻害する要因

 

 一つ目の「オブジェクト指向の影響範囲」は、オブジェクト指向プログラミング言語だけにとどまらず、ソフトウェアを開発するための多くのことに影響を及ぼしていることになります。本書内では、オブジェクト指向の全体像を以下の6個の要素で説明しています。

 ①OOPオブジェクト指向プログラミング)

 ②再利用部品群(クラスライブラリ、フレームワークコンポーネント

 ③デザインパターン

 ④UML

 ⑤モデリング

 ⑥開発プロセス

 

 

 自分のオブジェクト指向の認識は、クラス、ポリモーフィズム、継承などの技術があるみたいな認識だった。だが、上記の要素を見ると、それは①OOPに該当する内容で、オブジェクト指向とはもっと広い範囲で使われているものなんだと知った。

 確かに、②③④の要素はOOPをベースにやれることを増やしたんだろうと思うので、それもオブジェクト指向と呼んでいいのかなと思った。

⑤⑥に関しては、自分がまだそこまで理解してないので、よくわからない。

 とりあえず、オブジェクト指向は言語だけにとどまらないんだよ、それをベースにソフトウェアを開発する手法があるんだよという感じです。

 

 二つ目に重要かなと思った「オブジェクト指向の理解を阻害する要因」は自分もオブジェクト指向を勉強した際に感じたことです。

 阻害する要因は三つあり、「初めに説明される特殊用語が多い」「比喩が乱用されている」「すべてをオブジェクトであると説明される」と紹介しています。

 その中で、自分が一番共感したのは、「初めに説明される特殊用語が多い」です。

だいたいどんなことでも、新しいことを学ぼうとすれば専門的な用語は多いものです。

 それはしょうがないなと思いますが、確かにオブジェクト指向を学ぶ際はクラスから始まり、継承、インターフェース、コンストラクタ等々いろんな用語が出てきて、頭が混乱した覚えがあります。いろんなサイトを見て勉強したいたので、それよりも一つの本を読んで勉強した方が、用語の説明の統一性があるとは思いますが、それでもわからないことが多々あります。

 

阻害する要因一つ一つだけでもわかりづらいものですが、それが三つ合わさってくるので、さらにオブジェクト指向までの理解が遠のきます。

 

 

第二章では、「オブジェクト指向は現実世界をそのままソフトウェアに表現する技術である」という、説明を考え直す章になります。