目次
1.はじめに
2.オブジェクト指向ってなんぞや
3.オブジェクト指向の三大要素
4.オブジェクト指向のメリット
5.おわりに
1. はじめに
近年、主流の開発言語を使用する際によく耳にされる方も多いのかなと感じておりますが、オブジェクト指向とは一体なんなのか、簡潔にまとめてみました。
本記事では初学者である私がudemyで学習した、「これだけ知っていれば大丈夫!プログラミング入門以前の基礎知識」の内容をもとにしております。ご了承ください。
2. オブジェクト指向ってなんぞや
オブジェクト指向とは「全てをモノという単位で表現するプログラムの考え方」
のことです。
「モノ」の概念には生物・無生物も含まれます。
3. オブジェクト指向の三大要素とは
オブジェクト指向プログラミングの3大要素は「カプセル化」、「継承」。「多態性(ポリモーフィズム)」
です。
それぞれもう少し具体的に説明いたします。
カプセル化
カプセル化とはオブジェクトの情報を隠蔽すること
です。
重要なデータを外から簡単に書き換えられないようにカプセル化を行い、安全性を高めます。また、操作可能な情報のみ専用のアクセスメソッドをつけます。
4種類の制御レベル
javaを例に出すと、データ・メソッドそれぞれに対して以下4種類からアクセス制御レベルを選択する仕組みになります。
①private...自身のクラスからのみアクセスを許可
②package private...自身と同じパッケージに属するクラスからのみアクセスを許可
③protected...自身と同じパッケージに属するか自身を継承した子クラスからのみアクセスを許可
④public...全てのクラスからのアクセスを許可
継承
継承とはあるクラスのメンバを他のクラスに引き継ぐこと
です。
基になるクラスをスーパークラス、ベースクラスといいます。
継承したクラスをサブクラスといいます。
サブクラスはスーパークラスのメンバ+独自のメンバを持てます。
単一継承
1つのクラスが1つのスーパークラスのみ持てます。
多重継承
1つのクラスが複数のスーパークラスを持てます。
・単一継承しか許されていない言語...Java,C#など
・多重継承が許されている言語...C++,Pythonなど
多様性(ポリモーフィズム)
ポリモーフィズム(多態性)とは、異なるクラスのオブジェクトを統一されたインターフェースを介して操作できる能力を指します。
日本語で 「多様性」「多態性」「多相性」 と訳され、多様な形や状態をとることができることを意味します。
4. オブジェクト指向のメリット
メリット1
・現実世界をそのままクラスに落とし込める
・クラスの関係性を記述することによりアプリを開発できる
・プログラムの改良などが容易になる
メリット2
・ソフトウェアメンテナンスが容易になる
・新しい機能を実装・・・クラスを入れ替える
・従来の機能をさらに拡張した新機能の実装・・・継承を利用する
5. おわりに
今回はオブジェクト指向についてまとめてみました。
非常に簡単な紹介でしたが参考になれば幸いです。
最後まで読んでいただきありがとうございます。