はじめに
ちゃんとがっつり開発のエンジニア歴2ヶ月目が学んだことをまとめる備忘録。
最近はまた毎日新しく学ぶことがたくさんで、楽しい気持ちとちょっと情報がたくさんすぎて追いつかないぞ!!!ってなっています。そんな自分の外付けHDDみたいな感じで書いていこうと思います!
↓ちなみにこれまでの記事はこちら
今日はふたつも記事をあげましたよ(.・v・)ノ
オブジェクト(Object)の原義
- Object・・・物体、対象、目的(from weblio英和辞典)
オブジェクト指向とは
- 開発における考え方。
- 作成するアプリケーションなどをものとして捉えて考える開発手法。
Javaにおけるオブジェクト指向
- 基本の考え方は上記と同じ。
- クラスとその中に書かれているコードをもとにインスタンス化して作成
→つまり、設計図からものを作っていくというイメージ。 - 存在するのは、クラスとインスタンスのふたつ。
クラス
- Javaにおける 『設計図』 としての役割をもつ。
- クラスの中で実際の設計を行なっていくので、以下のようなものがクラスの中に存在する。
- メソッド・・・設計図の中でも作るものの 『振る舞い』 を記載したもの
- コンストラクタ・・・オブジェクト作成時に同時に作られる処理
インスタンス
- 実物。実際に作られているものという認識。
- クラスのインスタンス化
・・・クラスを実物化して、そのクラスの中で使えるようにしたもの。インスタンス化した結果できたのがオブジェクト
=クラスはオブジェクトの設計図!
JavaScriptにおけるオブジェクト指向
- 基本の考え方は上記と同じ。
- JavaScriptの場合は、クラスが存在しないのが大きな特徴のひとつ
- クラスの代わりにプロトタイプオブジェクトが存在する
-
プロトタイプオブジェクト
・・・設計図としてのオブジェクト(オブジェクトを毎回書かなくても済むように作成)
-
プロトタイプオブジェクト
- JavaScriptにおけるオブジェクト
・・・実体、実物(Javaにおけるインスタンスに近いもの)。 - 同じオブジェクトを何度も作るのが大変/機能を追加したい
→もととなるオブジェクトを利用してもっと簡単に対応できるように作られたのがプロトタイプオブジェクト
→つまり、もともとあるものから設計図を使ってより作りやすさを求めていくというイメージ。
まとめ
- JavaでもJavaScriptでもおおもととなるオブジェクト指向の考え方については一緒
- 開発する対象を 『もの』として見る ことで設計図と実体が存在する
- ただ、オブジェクト指向の中でアプローチの仕方が反対
- Javaは設計図をもとにものを組み立てていって完成させるというイメージ
- JavaScriptは、作られた実体をもとに、さらに設計図や実体を作成していき、それらを使って最終的なものを完成させるというイメージ
あとがき
オブジェクト指向って大事だよって話はPythonを触っていたときから、今JavaやJavaScriptを学んでいる間もちょこちょこ注意はあったけど、どこまで自分って理解しているんだろう・・・というか、そもそもちゃんとわかっているのかなぁと思ってしっかり一度まとめてみてもいいかも、と思って今回はオブジェクト指向についてにしました!
オブジェクトのイメージは正直あまり理解しきれていなかったり、このコトバ、知ってはいるけど意味なんだっけ・・・ってわからないことがあったりしましたが、まとめるにあたって改めて調査したり、参考書を読んで落とし込んでなんとか今理解できているレベルまではかけたかなぁと思います。
アウトプットすることで時間がかかることもありますが、自分の頭の情報を整理して補完することができるので、改めてこうやって人を意識してまとめるって大事なんだなぁと再認識しました!!!
またまとめようと思います!!
ではでは