

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢: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 就寝
オブジェクト指向と構造化の違いを理解する
オブジェクト指向と構造化は、プログラムをどう組み立てるかという考え方のグループ分けです。構造化プログラミングは「手続き」中心で、処理を順番に書くことを大切にします。小さな部品を組み合わせ、共通の処理を関数に分け、データと処理を分離します。これにより、読みやすさと保守性を高めるのが狙いです。
一方、オブジェクト指向は「もの(オブジェクト)」を考え、データとそれを扱う処理を一つの箱にまとめます。現実のものごとを模したモデルを作る感覚で、データの状態と振る舞いをひとまとめにします。
この違いが、後で大きな違いとして現れます。
構造化はシンプルな処理には向いていますが、規模が大きくなると修正の影響範囲が広がりやすいです。オブジェクト指向は、部品を再利用しやすく、変更が他の部品に波及しにくい設計を促します。ただしオブジェクト指向は設計が複雑になりやすく、初学者には難しく感じられることもあります。
具体的な違いを事例で比較する
例えば図書館の貸出システムを作るとき、構造化プログラミングなら「貸出処理」「返却処理」「予約処理」といった手続きごとに機能を分け、データは別の場所に置く形で実装します。コードを追いやすく、初学者でも順番に読めます。
ただし新しい機能を追加すると、関係する手続き同士の影響を考えながら修正が必要となり、規模が大きくなると複雑さが増します。
オブジェクト指向なら、図書を表す「Book」というクラス、利用者を表す「User」クラス、貸出を扱う「Loan」クラスといった部品を作ります。これらのオブジェクトが互いにメッセージを送り合うイメージで設計します。新しい機能を追加すると、既存のクラスを拡張したり、新しい派生クラスを作って対応するだけで済むことが多く、保守性が高まります。
ただしオブジェクト指向には「過剰な設計」や「複雑さの蔓延」という落とし穴もあります。最初から完璧な設計を目指すと、コードが難しくなり、学習コストが上がることがあります。結局は目的に応じて、構造化とオブジェクト指向をうまく組み合わせるハイブリッド設計が現場では一般的です。
継承はオブジェクト指向の中核の考え方の一つで、実はとても身近な話題です。動物クラスを例にすると、犬や猫は共通の性質を親クラスのAnimalに集約でき、子クラスで特有の違いだけを表現します。これを使うと、同じような機能を何度も書かずに済む利点があります。
ただし使いすぎると設計が複雑になり、どの機能がどのクラスに属しているのか分かりづらくなることもあるので、適切な階層を意識することが大事です。
前の記事: « 構造化と階層化の違いを完全解説 中学生にも分かる図解と実例