本書では、プログラミング技術を説明する前半部と、プログラミング技術から派生した応用技術を説明する後半部の2つに大きく分けてオブジェクト指向を解説します(図1.5)。

 前半部の第2章から第6章までは、プログラミング技術について解説します。まずは現実世界とOOP の仕組みが似て非なるものであることの説明(第2章)から始めて、OOP 以前のプログラミング言語の歴史(第3章)を振り返った後に、OOP の基本的な仕組みであるクラス、ポリモーフィズム、継承(第4章)を紹介します。続けて、OOP の実行時のメカニズム(第5章)と、OOP の発展がもたらした、再利用部品群とデザインパターンという2 つの再利用技術(第6章)を紹介します。

 後半部の第7章から第11章まではオブジェクト指向の応用技術を説明します。まずは、OOP の仕組みが上流工程に応用されて、集合論と役割分担を表現する「汎用の整理術」に変化したこと(第7章)を紹介します。

 続けて、ソフトウエアの機能を図式表現するUML(第8章)、業務分析と要件定義を支援するモデリング(第9章)、オブジェクト指向設計(第10章)、オブジェクト指向の普及と共に発展してきたアジャイル開発手法(第11章)までを紹介します。

 この構成は、オブジェクト指向としてひとくくりにされる個々の技術を一つひとつ理解していくステップを考慮したものですが、オブジェクト指向が進化した過程にもほぼ沿っています。

 加えて、補章では特別解説として、関数型言語の仕組みを紹介します。最近の多くのプログラミング言語はオブジェクト指向に加えて関数型もサポートしているため、関数型言語についても基本的な仕組みと考え方を解説します。



belkos/Shutterstock.com
belkos/Shutterstock.com