LoginSignup
1
0

オブジェクト指向とは

Posted at

:ledger:オブジェクト指向

効率よく開発するための考え方の1つであり
プログラミングを「モノの集まり」として捉えてモノ同士の関係性を定義しながら
システムを作り上げようとする発想です。

:ledger:オブジェクト指向の三大要素

オブジェクト指向には特徴があります。

・継承
・カプセル化
・ポリモーフィズム

それぞれをもう少し掘り下げて説明します。

継承

既存のクラスを元に変数メソッドを追加したクラスを作ることです。

継承関係にある親クラスをスーパークラス
子のクラスをサブクラスといいます。

新たに定義するクラスであるサブクラスでは
あらかじめ定義されているクラスであるスーパークラスが持つ
フィールドやメソッドを引き継ぐことができます。

継承できるのは1つのクラスだけです。
またコンストラクタは継承できません。


カプセル化

他のプログラムから勝手にデータを変更されるのを防ぐ仕組みのことです。

修飾子でアクセス範囲を制限することで勝手に値に触れることを防止することができ
安全性を高めることができます。

修飾子 意味
public すべてのクラスからアクセス可能
protected 同じパッケージ内のクラスとサブクラス(後述)からアクセス可能
指定なし 同じパッケージ内のクラスからアクセス可能
private 同じクラス内からのみアクセス可能(外からアクセスできない)

ポリモーフィズム

オーバーライドやオーバーロードにより,一つのメソッドに応じた振る舞いをすることです。

これによってプログラムの書き方を統一することができます。


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

効率よくプログラムを設計・開発できる

オブジェクト指向で開発されたクラスは、再利用しやすく、新しく同じような仕組みのプログラムを作る場合、効率よく開発が可能です。
また、機能ごとに分かれているため、複数人で作業を分担して開発を進めることができます。

エラーを特定しやすい

オブジェクト指向は、「モノ」と「操作」に分かれています。
そのためどこでエラーが起こったのか、どんな操作をした時にエラーが起こったのかすぐに特定できます。

最後に…

オブジェクト指向は理解するのに時間がかかります。
抽象的な言い回しが多く最初は苦戦することも多いと思いますが
現場で活躍できるよう理解を深めていきたいです!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0