Day 4・関数と部品化
抽象化(中身を知らなくても使える)
抽象化は『中身を隠して、使い方だけ見せる』こと。リモコンにたとえ、AIに任せる範囲の考え方を学ぶ。
テレビの仕組みを知らなくても、テレビは見られる
あなたはテレビの内部回路を1つも知らなくても、リモコンのボタンを押せばチャンネルを変えられます。これが抽象化です。『中の複雑な仕組みを隠して、使うために必要なことだけ表に出す』という考え方です。
たとえるなら
抽象化はリモコンです。電源ボタン・音量ボタンという『使い方』だけが表にあり、電子回路という『中身』は箱の中に隠れている。あなたはボタン(使い方)さえ分かれば、中身を知らなくても目的を達成できます。
関数もまさにこれです。『税込み価格を計算する』という関数は、中でどんな計算をしているか知らなくても、名前と引数と戻り値さえ分かれば使えます。中身を隠して使い方だけ見せる。これが良い部品の条件です。
- 表に出すもの: 名前・引数(渡すもの)・戻り値(返るもの)=使い方
- 中に隠すもの: 具体的な計算手順=中身の仕組み
なぜ隠すと便利なのか
中身を隠すと、使う側は『使い方』だけ覚えればよくなります。さらに、中身を後から改良しても、使い方が同じなら他の場所を直さずに済む。リモコンのボタン配置が同じなら、テレビの中身が新型になっても操作は変わらないのと同じです。
中身まで全部見せる
使うたびに複雑な手順を意識させられる
// 使うたびに税率や端数処理の計算式を全部書く
価格 * 1.1 の小数を切り捨て...使い方だけ見せる
名前を呼ぶだけで済む
税込み価格を計算する(価格)AIに任せる範囲の考え方
バイブコーディング([[vibe-codin用語])は、まさにこの抽象化を最大限に使う作り方です。AIに『税込み価格を計算する関数を作って』と頼めば、中身の計算はAIが書いてくれます。あなたは中身の全行を暗記する必要はありません。
AIにはこう頼む
「この関数の使い方(引数と戻り値)を、中身を読まなくても分かるように一言で説明して」。使い方さえ言葉にできれば、その部品を安心して呼び出せます。
隠していい中身と、確認すべき境界
抽象化は強力ですが、『中身を一切見なくていい』という意味ではありません。任せるのは中の細かい手順まで。でも入口(引数)・出口(戻り値)・その関数が正しく動いているかは、必ず自分で確認する。ここが『任せる』と『丸投げ』の境界線です。使い方が分かる人だけが、正しく任せられます。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
抽象化(リモコンのたとえ)が意味することとして、最も正しいのはどれ?
抽象化とは何かを説明し、AIに任せる作り方(バイブコーディング)とどう関係するか述べてください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。