【正解の解説】
プログラムの実行速度を向上させるために、すべてのオブジェクトは変数や関数をグローバル領域で共有しなければならない。
オブジェクト指向は、家を建ậtるときに一部屋ごとに独立した個別のパーツとして作り上げるようなものです。すべてのデータをグローバル領域という共通の広場に置いてしまうと、どこからでも勝手に書き換えられてしまい、プログラム全体がぐちゃぐちゃになってしまいます。そのため、データを隠して自分専用の場所に持つのがオブジェクト指向の基本です。
【その他の選択肢の解説】
データとそれを操作する手続きを一つのまとまりとしてカプセル化することで、モジュール性を高めて再利用性を向上させる。
カプセル化は、テレビのリモコンのようなものです。中の複雑な配線や基盤は蓋(カプセル)の中に隠されており、ユーザーはボタンを押すという決められた操作(手続き)だけでテレビを動かせます。中身を隠すことで、他のプログラムに影響を与えずに安全に部品を使い回すことができるというオブジェクト指向の重要な特徴です。
既存のクラスが持つプロパティやメソッドを新しいクラスに引き継がせて、効率的なプログラムの拡張や修正を実現する。
継承は、親の遺伝子を子供が引き継ぐようなものです。「自動車」という基本的な設計図(クラス)をもとに、「トラック」や「スポーツカー」を作る際、タイヤやエンジンの基本機能をイチから作り直さず、親の機能をそのまま受け継いで新しい機能だけを追加できます。これにより、開発の手間を大幅に削減し効率的なプログラムの拡張が可能になります。
同じ名称のメソッドであっても、対象となるオブジェクトのデータ型に応じて異なる処理を動的に割り当てて実行する。
多態性(ポリモーフィズム)は、「鳴く」という同じ命令を出しても、相手が犬なら「ワン」、猫なら「ニャー」とそれぞれの性質に合わせて勝手に動きを変えてくれるようなものです。プログラムを作る側は相手の細かい種類を気にせず「鳴け」とだけ指示すればよいので、コードが非常にシンプルになり拡張しやすくなります。