プログラミング応用a 第9回 『モジュール化その1 (メンバアクセス制御とアクセッサ)』 |
9-2 【モジュール】
●今回の講義の手始めとして,『モジュール(module)』という考え方を紹介する。
・通常,『製品』は部品から構成されている。それは,ソフトウェアという製品についても同じである。
・ボルトやビス,鉄板,ワイヤといった単純な部品もあるが,こういった部品は単純すぎて意味のあるほどの機能は持っていない。
・そして,これらの細かい部品を組み合わせて,特定の機能を持ったより上位レベルの部品を作ることができる。自動車で言えば,エンジンや変速機,ブレーキ装置などである。
このように,
それなりの意味と機能を持った部品のことをモジュール(module)と呼ぶ。例としては,
自動車のエンジンモジュール,ブレーキモジュール,
コンピュータのメモリモジュール,電源モジュール
などが挙げられる。
・Java では,最少のモジュールはクラスと言える。また,関連した機能を持つクラスを集めて,パッケージ(package)というより上位レベルのモジュールを作ることができる(下図)。
・世の中に存在するほとんどの工業製品がモジュールから構成されているのは,様々な利点があるからである。
ソフトウェアという工業製品も同様に,モジュールという考え方が重要になってくるのでおぼえておこう。
・なぜ,今回のテーマが『正常に動作するには,変数(フィールド)を外部から守らなくてはならない。』であるのに,モジュールの話題が出たのか?
実は,
このテーマはモジュールの考え方と表裏一体なのである。
では,本題に入っていこう。