はじめに
プログラミングの書き換えがしやすく、チーム開発で認識を共有しやすいと言われているオブジェクト指向についてまとめました。
プログラミング・パラダイムとは
まずオブジェクト指向の話をする前に、プログラミング・パラダイムといいプログラミングのスタイルの種類を表すことばあります。
大きく分けてオブジェクト指向の以外に以下の3つのスタイルがあるので説明します。
オブジェクト指向:
プログラムでモノ(オブジェクト)を組み立てていくプログラミングの考え方です。
手続き型:
コンピュータが実行すべき命令や手続きを順に記述していくプログラミングの考え方です。
関数型プログラミング:
解決しようとする問題に対し、その問題の性質を関数の組み合わせで記述するプログラミングの考え方です。
オブジェクト指向プログラミングの3大要素
オブジェクト指向プログラミングには、以下の3つの大きなな概念があります。
カプセル化:
オブジェクトの安全性を高めるために、機能(データと処理)をまとめ、機能・責務を明確にした名前を与え、適切な使用法(API)を公開すること。この性質を理解し、影響範囲の小さく疎なプログラミングを心がけることによって、大規模で安全なシステム構築に繋がります。
継承:
あるクラスを引き継いで新しいクラスを定義することできること。この特徴があるおかげで、共通部分をまとめて、再利用することができるます。
ポリモーフィズム(多態性):
オーバライド(親クラスのメソッドを子クラスで上書きすること)やオーバロード(同一クラス内で引数の違いによってメソッドの呼び分けること)によって、メソッドを状況によって使い分けることができることです。
おわりに
どの言語で書くとしてもプログラミング・パラダイムを意識することは非常に重要だと思います。