

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
はじめに:「委譲」と「継承」って何?
プログラミングの世界でよく出てくる言葉に、「委譲(いじょう)」と「継承(けいしょう)」があります。
名前は似ているけれど、意味や使い方は全然違います。
この記事では、この二つの違いを中学生でもわかりやすく、丁寧に説明します。
これからプログラミングを始める人や、基礎をもう一度確認したい人にぴったりです!
①「継承」とは?
継承は、「親(スーパークラス)の性質や動きを子(サブクラス)がそのまま受け継ぐ」ことです。
プログラムでよく使われ、似たような性質や機能をもつ複数のクラス(設計図)を効率よく作りたいときに便利です。
例えば、動物という大きなカテゴリがあって、その下に犬や猫があります。
「動物」が持っている「呼吸する」「歩く」などの基本的な機能を、犬や猫が継承してそのまま使うことです。
つまり、継承は親から子へ「同じものを受け継ぐ」仕組みだと考えればわかりやすいです。
ポイント:
- 親クラスの機能をそのまま使える
- 子クラスで新しい機能を追加も可能
- 親クラスの機能を子クラスで変えることもできる(オーバーライド)
このように継承は、プログラムの冗長(じょうちょう)さを減らすために重要です。
②「委譲」とは?
委譲は、「自分自身ですべてを処理せず、他のオブジェクト(クラスのインスタンス)に仕事を任せる」ことを指します。
英語では"delegation"といい、プログラミングでもよく使われる設計技法の一つです。
先ほどの動物の例で言うと、動物クラスが「歩く」という仕事を全部するのではなく、足クラス(別のクラス)に「歩いてね」と頼むイメージです。
つまり委譲は、一部の処理を別のクラスに「任せる仕組み」です。
ポイント:
- 他のオブジェクトに機能の実装を任せる
- 柔軟で変更に強い設計ができる
- 継承よりも安全で複雑さが減ることが多い
③ 継承と委譲の違いを表で比較!
比較項目 | 継承 | 委譲 |
---|---|---|
関係性 | 親子(Is-a関係) 例: 犬は動物である | 部分的な役割分担 例: 動物は歩く機能を足に任せる |
実装方法 | クラスを拡張して機能を引き継ぐ | 別のクラスのオブジェクトに処理を依頼する |
メリット | コードの再利用が簡単 構造が整理しやすい | 柔軟性が高い 依存を減らすことができる |
デメリット | 階層が深くなると複雑になる 不適切な継承はトラブルの元 | 委譲のオブジェクトを用意する手間がある |