最近Rubyを学び始めた初心者です。オブジェクト指向について学ぶ機会があり、いろいろな説明があったので、結局どういうことなのか確認のために自分なりに簡潔にまとめてみようと思います。
オブジェクト指向とは
プログラム上で扱う対象をオブジェクト(モノ)に見立ててオブジェクトを中心としてコードを組み立てていく手法のこと。
オブジェクト指向の目的
- プログラムの再利用性を高めるため
- 変更に対して柔軟に対応するため
- 理解しやすいプログラムにするため ...etc
カプセル化
要はデータを保護するということ。
直接テータを操作させずに一度関数を通す状況を作ることによって、不正なテータ操作を防ぐ。
継承
クラス定義の共通部分を別クラスにまとめることで、コードの重複を排除する仕組み。
これによって無駄を省くことができる。
ポリモーフィズム(多態性)
呼び出した関数が呼び出し元のオブジェクトに適した振る舞いをすること。
中に入るものによって同じ関数でも違う処理を行えるということ。
単一責任の原則
1つのクラスやモジュールは、1つの責務(役割、機能)だけを持つべきであるという考え方。
まとめ
まだまだ理解したには程遠いですし、浅い説明だったかもしれません。ですが他の記事や本を読んで学んだ方が、これを読んで少しでも考えをまとめる参考になれば嬉しいです。