メインコンテンツまでスキップ

新人エンジニアがオブジェクト指向を学ぶ意味

濱上
ディアシステム(株)開発二部第2課

こんにちは。開発2部の濱上です。

入社後すぐのJava研修でオブジェクト指向に触れたとき、「結局、理解して何が変わるの?」という疑問にぶつかりました。
プログラミング初心者の私にとって、それは大きな壁でした。
ですが、実際にコードを書く中で、オブジェクト指向は、コードの居場所を決めて全体図をつかみやすくする、大切な設計の基礎であることに気づきました。

まだ新入社員として学び途中ではありますが、オブジェクト指向に苦戦した中で見えてきた設計の大切さと、AI時代だからこそ必要な設計の考え方をまとめたいと思います。

オブジェクト指向とは何か

・“モノをそのままプログラムに持ち込む” という発想

オブジェクト指向は一言でいうと、

私たちの身の回りにある「モノ(=オブジェクト)」を、そのままプログラムに置き換える考え方

と理解しました。

例えば、「商品」、「ユーザー」、「注文」などの概念がそのままオブジェクトになります。

現実世界で 「商品がある → 値段がある → ユーザーが購入する」という流れを、プログラムでもクラスやメソッドを使って表現していくイメージです。

・“情報”と“役割”をセットにする

オブジェクト指向の大きな価値は、

「情報」と「その情報を扱う処理」を、ひとつのまとまり(オブジェクト)にできること

だと感じています。

初めて取り組んだ開発では、変数や関数がバラバラに存在していて、時間が経つと、どこに何があるのか分からなくなりました。

ですがオブジェクト指向に慣れてくると、

  • 商品クラスなら「商品のデータ」と「商品の振る舞い」
  • ユーザクラスなら「ユーザのデータ」と「ユーザの振る舞い」

といったように、自然に整理しやすくなり、担当者を決めるようなイメージで、コードが読みやすくなります。

・初心者こそ助けてもらえる考え方

理解が進むほど、初心者こそオブジェクト指向に救われるのでは?と思うようになりました。

  • コードの居場所がはっきりする
  • 重複を書かなくていい
  • プログラムの全体図をつかみやすい

など、迷子になりにくくなると感じています。

AI がコードを書く時代でも必要なのか

オブジェクト指向について調べていると、「AI が出てきたからオブジェクト指向は古い」といった意見を目にすることがありました。

ですが、AI にコードを書いてもらうと、分かりにくいコードが生成されることもあります。

  • クラスの役割が曖昧
  • 名前の統一感がない
  • 1つのクラスに機能が詰め込まれてしまう

など、読んでいて混乱することもあります。

そこで気づいたのは、以下の点です。

  • AI にはコードを書いてもらえるが、設計の判断は人間
  • オブジェクト指向を理解しているほど、AI が生成したコードも扱いやすい
  • AI に質問する際に明確に伝えられれば、返ってくる回答の精度も高くなる

AI 時代だからこそ、設計の基本となる考え方(オブジェクト指向)はもっと大事になるように感じます。

まとめ

オブジェクト指向はまだまだ勉強中ですが、理解が進むにつれてコードが読みやすくなり、作りやすくなるのを実感しています。
そして AI がどれだけ進化しても、設計の考え方は残るはずです。
これからプロジェクトで実際にコードを書く場面も増えていくので、 AI もうまく使いながら、自分自身の設計力も伸ばしていきます。

未経験から始める
システムエンジニア

一生モノのITスキルを身につけよう

あなたの経験とスキルを
ディアシステムで発揮してください!