ソフトウェア開発の生産性を高める「オブジェクト指向」とは?(Improving Software Productivity with Object-Oriented Programming)

目次

📖 設問文(ITパスポート 令和3年 問41)

クラスや継承という概念を利用して,ソフトウェアを部品化したり再利用することで,ソフトウェア開発の生産性向上を図る手法として,適切なものはどれか。

ア:オブジェクト指向
イ:構造化
ウ:プロセス中心アプローチ
エ:プロトタイピング


💡 解説

正解は 「ア:オブジェクト指向」 です。

オブジェクト指向(Object-Oriented Programming, OOP)は、クラス継承 を使うことでソフトウェアを「部品」として設計し、繰り返し利用できるようにする考え方です。これによって、開発の効率と保守性が大きく向上します。


🏫 例1:学校の先生と生徒

  • クラス(Class)=設計図
     「人間」というクラスを作ると、名前・年齢・話すといった共通の性質を持たせられます。
  • 継承(Inheritance)=性質を引き継ぐ
     そこから「先生クラス」と「生徒クラス」を作れば、両方とも「話す」や「名前を持つ」など人間としての特徴を引き継ぎます。

さらに「先生クラス」には「授業をする」、「生徒クラス」には「勉強する」といった追加の特徴を定義できます。

👉 こうすれば「人間」の基本部分を何度も書き直す必要がなく、効率的にプログラムを組み立てられます。


🏠 例2:家電(冷蔵庫と洗濯機)

  • 「家電クラス」 に「電源を入れる」「電源を切る」といった共通機能を定義。
  • そこから「冷蔵庫クラス」「洗濯機クラス」を継承すると:
    • 冷蔵庫には「冷やす」、洗濯機には「洗う」といった固有の機能を追加できる。

👉 家電全体の共通部分をまとめて管理でき、あとから「電子レンジクラス」を追加するときもスムーズ。


🐕 例3:動物(犬と猫)

  • 「動物クラス」 に「食べる」「寝る」という共通の性質を定義。
  • 「犬クラス」と「猫クラス」を継承すると:
    • 犬には「吠える」、猫には「鳴く」といった特徴を追加可能。

👉 「動物クラス」のコードを再利用できるため、同じ処理を繰り返し書く必要がない。


🔁 再利用性のメリット

  • 効率化:共通部分を一度書けば何度も使える。
  • 保守性向上:共通部分を直せば、派生クラスにも自動で反映される。
  • 拡張性:新しい種類(家電や動物など)を追加するときも簡単。例えば、新しい「留学生クラス」を作るときも、「人間クラス」を継承して追加機能を定義するだけ

✅ 選択肢比較

  • ア:オブジェクト指向 → 正解!
     クラスや継承を使って部品化・再利用できる。
  • イ:構造化 → プログラムを整理する考え方だが、継承の仕組みはない。
  • ウ:プロセス中心アプローチ → 流れ(プロセス)に注目するが再利用性とは違う。
  • エ:プロトタイピング → 試作品を作ってユーザーに見せる手法で再利用性とは関係が薄い。

🎯 まとめ

オブジェクト指向は、

  • 学校(先生と生徒)
  • 家電(冷蔵庫と洗濯機)
  • 動物(犬と猫)

といった身近な例で考えるとイメージしやすくなります。
共通部分をまとめ、必要に応じて拡張することで、ソフトウェア開発の効率と品質が大幅に向上します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

GoodMorning!

デジタルの海原を冒険しながら、美食の宝を探し求める探検家です。テクノロジーの世界を舞台に、新しい発見を求めて、キーボードの海を横断。そして、実世界では、隅々まで足を運んで、舌鼓を打つ価値のある美味しいお店を見つけ出します。

私の使命は、小さなITの豆知識から始まり、心を満たすグルメスポットの紹介まで、あなたの日常にちょっとしたスパイスを加えること。画面の向こう側から、気軽に楽しめる話題を届けたいのです。ここでは、私が「これは!」と思った技術的な小話や、舌の記憶に残るような食べ物屋さんを紹介していきます。

このWebサイトは、ITとグルメ、二つの世界を融合させた、まさにデジタルと現実の融合点。ふらっと立ち寄って、新たな発見や、ほっこりするような話題で一息ついていただけたら幸いです。知識の海を冒険し、味覚の旅を楽しみましょう。毎日を少しだけ特別なものに変える、そんな情報をお届けします。

GoodMorning!

I am an explorer who ventures across the digital sea in search of gastronomic treasures. In the world of technology, I traverse the sea of keyboards in search of new discoveries. And in the real world, I visit every nook and cranny to find a delicious restaurant worth tantalizing your taste buds.

My mission is to add a little spice to your everyday life, starting with little IT tidbits and ending with foodie spots that fill your heart. I want to bring you topics that you can easily enjoy from the other side of the screen. Here, I'm going to share with you some of the technical tidbits and I will introduce small technical stories and food shops that will leave a lasting impression on your taste buds.

This Web site is truly a fusion point of digital and reality, combining the two worlds of IT and gourmet. I hope you will stop by and take a breather with new discoveries and dusty topics. Come explore the sea of knowledge and enjoy a journey of taste. I will bring you the information that will change your everyday life into something a little more special.

目次