抽象と具体は、実はずっと学校でやってきた話

オブジェクト指向に入ると、

「急に難しくなった気がする」

「抽象って何ですか?」

と感じる方がいます。

でも安心してください。

抽象と具体は、これまでの人生で何度も使っています。

ただ、「抽象」という名前で意識していなかっただけです。


1. 具体とは何か?

具体とは、

はっきりしているもの・目に浮かぶもの

です。

例:

  • 山田さん
  • HPが100の勇者
  • 赤いりんご

全部、具体です。


2. 抽象とは何か?

抽象とは、

共通点だけを取り出してまとめたもの

です。

例:

  • りんご、みかん、ぶどう → 「果物」
  • 山田さん、佐藤さん → 「人」
  • 勇者、魔法使い、戦士 → 「プレイヤー」

細かい違いをいったん置いて、

共通している部分だけを見る。

これが抽象です。


3. 実は学校でずっとやっている

■ 国語

「この文章の要点を書きなさい」

これは、

具体的な文章

抽象的なまとめ

をしています。


■ 数学

2 + 3 = 5

5 + 7 = 12

やがて、

a + b

になります。

数字(具体)を

文字(抽象)にしています。

かなり高度な抽象化です。


4. なぜオブジェクト指向で難しく感じるのか?

オブジェクト指向は、

具体から抽象を作る作業

だからです。

勇者

魔法使い

戦士

共通点は?

  • 名前がある
  • HPがある
  • 攻撃できる

「Playerクラス」

これが抽象です。


5. 抽象は「能力」ではなく「慣れ」

抽象で一度止まる人は珍しくありません。

それは、

  • 今まで意識してこなかった
  • 言葉として学んでいない
  • 思考の切り替えに慣れていない

というだけです。

能力の問題ではありません。

抽象は「思考のモード」を少し変える作業です。

最初に違和感があるのは自然です。


6. コツは一つだけ

いつもこう考えてみてください。

「これとこれの共通点は何だろう?」

それだけです。


7. プログラミングでの意味

プログラミングは、

現実を整理する仕事

です。

抽象が見えるようになると、

  • クラス設計が整理される
  • コードが読みやすくなる
  • バグが減る
  • 他人のコードが理解しやすくなる

少しずつ世界が広がります。


最後に

もし今、少しモヤッとしていても大丈夫です。

抽象は突然ひらめくものではなく、

繰り返しの中で静かに慣れていくものです。

このクラスでは、急ぎません。

具体から一緒に積み上げていきましょう。

訪問数 9 回, 今日の訪問数 9回