【初心者必見】プログラミングで用いられる考え方「 オブジェクト指向 」とは?オブジェクト指向を徹底解説!!

目次

初心者の方がプログラミングをしていて必ず躓くと言っても過言ではないオブジェクト指向
オブジェクト指向はJAVAC++等の言語で使われています。
今回は「 オブジェクト指向 って何?」「詳しく知りたい」という方向けに
簡単に説明していきます。

目次

オブジェクト指向ってなに?

Object」は物という意味です。
物の集合体があり、それを切り離して、一つ一つ考えられる概念オブジェクト指向です。
もう少し具体的に説明すると・・・
遊園地があるとします。その遊園地には「ジェットコースター」「飲食店」「トイレ」「観覧車」「お化け屋敷」があるとします。
従来はこれらは一つの連続したプログラムでコーディングされており、観覧車だけをを他の人に作ってもらうなどといったことが難しい状況でした。
オブジェクト指向では、「ジェットコースター」「飲食店」「トイレ」等をオブジェクト化された個々のプログラムの集合と捉えることができ、一つ一つ切り離して作成する事が出来ます

オブジェクト指向の三原則

継承

既存のクラスから「変数定義」「メソッド」を引き継ぐこと。
継承する事でコードの再利用性拡張性を高めたり、重複したコードを書かないようにし、
思わぬところでバグが生じたりする事を防ぎます

継承を用いる場合は「骨組み」となるクラスを作成し、そのクラスを継承していきます。
例)トイレというクラスの骨組みがあり、それを継承して男子トイレ女子トイレ等を作成するイメージ
男子トイレであれば立って用を足すことが出来る物を作成し、女子トイレであればそれをなくすことが出来ます。

カプセル化

データを外からアクセスできないようにして保護する事。
大人数で開発する場合にすべてのコードを認識する必要がなくなります

ポリモーフィズム

データ型に関する操作が統一である事。
また、コードの書く処理を短くでき、それによるミスなどを減らすことが出来る

セミクラス(親クラス)
アブラゼミクラス(子クラス)
ツクツクボウシクラス(子クラス)
クマゼミクラス(子クラス)

以上のクラスを使ってポリモーフィズムを見ていきます。

テストクラス
テスト2クラス

テストクラスを見ると3回セミ型を宣言していますが、テスト2クラスみたいにセミ型の配列を用意し
そこにアブラゼミや他のセミのインスタンスをまとめて格納することが出来ます。テスト2クラスでは子クラスが増えたとしても、特にコードを増やすことなく追加できるところがポリモーフィズムの特徴です。

オブジェクト指向のメリット

上記でも説明はしていますが、効率よく作業を進めることが出来ます。
(継承を使う事で同じコードを書く手間がはぶけたり、ポリモーフィズムによるコードの簡略化など)
また、操作で分かれているため、エラーが出た際にどこで起きたかが分かりやすくなります

オブジェクト指向のデメリット

設計の工程に時間がかかる。
オブジェクト指向の理解度が人によって違う。
再利用する場合の難易度が高い。


オブジェクト指向を理解できない人や理解度の具合によってコードが変わってくるため、
大人数で業務を行う際は的確な指示が必要になります。

まとめ

今回は簡単にオブジェクト指向について書かせていただきました。
オブジェクト指向難易度が高く理解をするのが難しいと思います。
意味を考えながらコードを何度も書くことで地道に習得するのが一番の近道かもしれません。

1st stepではオブジェクト指向を学ぶ前の基礎的なところからサポートさせていただいております。

プログラミングスクール「1st step」

プログラミングを今から始める方は1st stepでプログラミングを学びませんか?
1st stepでは、未経験の方でもプログラミングに取り組んでいただけるようにプログラミングソフトのインストール方法から丁寧にお教えいたします。
もし今少しでもプログラミングに対しての悩みがある方は、無料でカウンセリングを行っているので、お気軽にご予約、ご相談ください。
実際に購入する予定がなくても問題ありません。どの言語を学べばいいか、自分のやりたい事にあっている言語は何なのかなどの疑問に現役エンジニアがお答えします。

軽い質問であれば、TwitterのDMでもお答えいたしますので、お気軽にご連絡ください。

1st step公式ページ:https://1st-step.jp
1st stepカウンセリング予約ページ:https://1st-step.jp/reserve
1st stepTwitterアカウント:@_1st_step_

目次
閉じる