JavaやC#で取り入れられている「オブジェクト指向」とは?

オブジェクト指向(object oriented;OO)とは、ソフトウェアの世界において、操作手順よりも操作対象に重点をおいて考える手法のことをいいます。オブジェクト指向では、関連するデータの集合と、それに対する手続き(メソッド)を「オブジェクト」として管理し、その組み合わせでソフトウェアを作っていきます。オブジェクト指向を取り入れているプログラミング言語には、C++、Java、C#、Visual Basicなどがあります。

オブジェクト指向

オブジェクト指向(object oriented;OO)とは、ソフトウェアの世界において、操作手順よりも操作対象に重点をおいて考える手法のことをいいます。
オブジェクト指向では、関連するデータの集合と、それに対する手続き(メソッド)を「オブジェクト」として管理し、その組み合わせでソフトウェアを作っていきます。
オブジェクト指向を取り入れているプログラミング言語には、C++、Java、C#、Visual Basicなどがあります。

「オブジェクト(Object)」、つまりモノの集合によって世の中は成り立っています。人間も「オブジェクト」です。
例えばプログラミングの仕事をするAさんであれば「プログラマーのAさん」。このように、オブジェクトはそれぞれを識別する固有の名称と、役割を持っています。
そして、作業をするときには、Aさんの内部で何がどのように機能が動作しているかは理解する必要がなく、「○○をやってください」と指示を出すだけで、作業を依頼することができます。

作業の手順はオブジェクトにお任せする

オブジェクト指向が登場する前は、ゼロからプログラムを作っていました。しかし、システム開発が大規模で複雑化するにつれて、そうしたやり方では短期間で高い品質が保てなくなり、以前に使ったコードを再利用する必要が出てきました。
また、オブジェクト化しておくことで、同じ命令をそれぞれのデータに対して何度も出す必要がなくなります。そうしたことで、処理が複雑になるのを防ぎ、バグを少なくします。
さきほどの例でいえば、プログラマーのAさん、Bさん、Cさんというオブジェクトがあって、一斉に「作業をやってください」と指示を出せば、それぞれがその機能を遂行します。オブジェクトはすでに作業の手順(データ)を持っているので、手順について細かく指示をする必要はないのです。

また、作業を任せている以上、オブジェクトに対して過度に干渉しないほうがよい場合もあります。そうした場合は、「カプセル化」という処理で、オブジェクトの外部からは状態が操作できないようになります。

「クラス」と「インスタンス」とは?

また、オブジェクト指向を理解するために大切なものとして、「クラス」と「インスタンス」があります。「クラス」は、オブジェクトの定義、いわゆる設計図のことです。オブジェクトがどのような種類で、どういう振る舞いをするかが記述されています。このクラスをもとにできたオブジェクトをインスタンスと呼んでいます。

オブジェクト指向の考え方は複雑で難しいともいわれます。ただ、オブジェクト指向を使う目的は、先にも述べたように、「保守性が高く再利用できるシステムを簡単に構築すること」にあります。とくに大規模な開発にあたっては、こうした考え方を用いたほうが簡単に目的を達成できるので、広く普及しているのです。



その他の条件で探す

typeでは職種や勤務地、仕事探しで譲れないこだわりの条件など、様々な切り口から自分の働き方に合った求人を探すことができます。気になるキーワードやテーマから転職・求人情報をチェックしてください。

転職活動を進める

あなたの転職活動をサポートする、typeの各種サービスをご案内します。

  • スカウト

    スカウト

    匿名だから安心!あなたに興味を持った企業の採用担当から直接メールが届くサービスです。

  • オファーDM

    オファーDM

    あなたが登録した情報と近い内容の募集条件の企業から、メールが届くサービスです。

  • 検討中リスト

    検討中リスト

    興味を持った求人を保存しておくことができ、気になる求人を一覧にて比較検討できます。