はじめに
Qiitaに記事を書くきっかけは就職活動での技術質問にうまく回答できなかったので、学習内容を記録するためのモノです
【目標】
・バックエンドエンジニアになる
・基本情報技術者試験に合格する
オブジェクト指向
オブジェクト指向とは、データとそれに関わるメソッドをまとめてプログラミングをする方法。
細かく説明すると色んな定義があるのですが、それぞれのコードを役割として分けるものと認識しています
メリットとしては
・仕様を変更する時に簡単に変更できる
→ボタンを変更する際などはオブジェクト指向を使うと「もの」だけを変更すれば済む
・不具合が起きた時に把握しやすい
→エラーが出た時にどこでエラーが出たのかを把握しやすくなります
クラス
データと処理をひとつにまとめる機能。モノ(オブジェクト)の設計書のようなもの
例えば、車の機能を書くとすると
特徴 | メソッド |
---|---|
車種 | 車の名前 |
色 | 車の色 |
燃費 | 1lで車が走る距離 |
最高速度 | 車ごとの最高速度 |
どの車も車種は存在するし、色もバラバラ
だからCarクラスで車種などを設定して、インスタンス化して、それぞれの特徴を具体的に明記する
インスタンス化
クラスで設計しただけでは実際には動きません、それを具体的にしなければいけません
クラスでの設計図を基にそれを具体化するものです
public class Main {
public static void main(String[] args) {
Car Porsche = new Car(); // PorscheというCarクラスのインスタンスを生成
Porsche.setName("Porsche");//車の名前
Porsche.setColor("black");//車の色
Porsche.setFuel(100);//車の燃費
Porsche.run(120);//車の最高速度
}
}
ポリモーフィズム
日本語で言うと多様性という意味
オブジェクト指向の一つの概念です。同じ名前のメソッドを用意して複数のクラスで使用できるようにしたものです
それによって同じ名前の操作が呼び出されたときに、生成されたクラスが異なれば、別の操作ができます
この辺りはJavaがしっかりかければ完璧なんだけど、しばらく書いてないもんで。。。
最後に
この記事は申し訳ないけど、自分用なのでわかりにくい部分も多いかもしれない
オブジェクト指向は継承やオーバーライドなどたくさんの覚えることがある
明確にわけながら記事にしていきたいと思う