【プログラミング学習】オブジェクト指向でなぜつくるのか
作成日:2022-08-31
更新日:2025-04-28

オブジェクトを
「指向」する
「指向」する

オブジェクトって?

本で学んでみよう
平澤 章 日経BP 2021年04月16日頃
オブジェクト指向とは
ざっくりいうと「片付け技術」
- 「分類」して整理する技術
- 「ムダ(重複)をなくす」ための「整理整頓」の仕組み

これ、大事
- 分類(わける)
- 重複排除(すてる)
- 整理(ととのえる)

整理に向かうってこと?

整理整頓を目指せ
なぜ整理整頓が必要なのか
プログラミング初期は「作れるか?」しかなかった
プログラミング黎明期
- コンピュータが動くこと自体が、すごいこと
- 「長く使う」ことは想定してない
- 「目の前のメモリ」を節約するほうが重要

動く!すごい!
2000年問題で、「直せるか?」が問題になった
2000年問題
年号を2桁で記述していたため、2000年が「00年」になってしまう
- 2桁にしていたのは、メモリ節約のため

「目の前のこと」だけではダメだった…
新規作成より、修正が重要となった

新規に作るよりも
すでに作ったプログラムを
どうするか問題
修正しやすいことが重要
- 保守性
- コードが読めない → 読みやすくする
- 品質向上
- コードが複雑 → シンプルにする
- 再利用
- コードは使い捨て → 何度も使えるようにする

そこで登場したのがオブジェクト指向よ
オブジェクト指向の三大特徴
オブジェクト指向1.クラス
クラスの役割
- まとめる
- 隠す
- たくさん作る
「まとめる」
まとめて整理整頓すること自体に価値がある

具体的には、「変数とメソッド」をまとめること
【「クラスという箱」に入れるメリット】
- 探しやすくなる
- 名前が付けやすくなる

たしかに洋服も、種類ごとにケースに入れると探しやすくなる
クラスとは
「変数とメソッド」を
まとめて入れる箱
「変数とメソッド」を
まとめて入れる箱
「隠す」
できるかぎり隠すべき

具体的には、変数とメソッドを「private」にすること

たしかに部屋の中も、隠したらキレイになる
共通して使うなら「public」
隠して使うなら「private」
隠して使うなら「private」
「たくさん作る」
1つのクラスからインスタンスをたくさん作れる

具体的には、次のJavaの例がわかりやすい
TextFileReader reader1 = new TextFileReader();
TextFileReader reader2 = new TextFileReader();
reader1.open("C:¥¥a.txt");
reader2.open("C:¥¥b.txt");
char ch;
ch = reader1.read();
ch = reader2.read();
reader1.close();
reader2.close();

newで、たくさん作れる
オブジェクト指向2.共通ロジックを一部変えて使う|ポリモーフィズム

共通ロジックを使うけど、足りないものは追加できる

「ポリモーフィズム」っていう言葉が嫌い
オブジェクト指向3.共通の定義を借りる|継承

共通部分は借りてきて、新しいクラスを作る

新しく買うよりもレンタル利用
プログラムは、最初から最後まで「整理」の技術
整理整頓の繰り返し
- 分析
- 「仕事の流れ」を整理する
- 要求定義
- 「コンピュータで何をするか」を整理する
- 設計
- 「コード」を整理する

やっぱり「整理整頓」がキーワード
大切なことは「キレイにしたい」という心がけ

オブジェクト指向が難しいのは、使いこなし方がわからないから
掃除機と整理Boxがあっても、掃除が急にできるわけじゃない。
「使いこなし方」に慣れるしかない。
どうやったら保守がしやすくなるか、再利用がしやすくなるかを考えましょう。

「完璧にキレイにする」を目指すのではなく、「キレイな方向」を目指す
時代とともに
目指すものが変わる
目指すものが変わる
まとめ:整理整頓のオブジェクト指向
- 同じものをまとめる
- 「分類」は技術
- 「ムダ」を捨てる
- いざとなったら借りればいい
- 隠してキレイにする
- 「散らかる」とは、何も隠れてないこと

「オブジェクト」は、整理箱のことだった

まずは知識の整理から
平澤 章 日経BP 2021年04月16日頃

オブジェクト指向についてはこちらも
2022-08-31
編集後記:
この記事の内容がベストではないかもしれません。