【おぶじぇくと】
オブジェクト とは?
💡 クラスから作られた「実体」、データと動作を持つプログラムの部品
📌 このページのポイント
- クラスを「設計図」とすると、オブジェクトはそれから作られた「実体」
- new演算子でクラスからオブジェクト(インスタンス)を生成する
- 1つのクラスから複数のオブジェクトを作れる(各オブジェクトは独立したデータを持つ)
- JavaScriptではオブジェクトは「キーと値のペアの集まり」としても使われる
オブジェクトってクラスと何が違うの?
クラスは「設計図」、オブジェクトはその設計図から作られた「実体」。「犬」クラスという設計図から「ポチ(3歳、柴犬)」「太郎(5歳、ゴールデン)」という具体的な犬のオブジェクトを作る感じ。
インスタンスとオブジェクトは同じ?
JavaScriptのオブジェクトは違うの?
JavaScriptでは「{name: 'Ken', age: 25}」のようなキーと値のペアの集まりもオブジェクトと呼ぶ。クラスから作るオブジェクトとは少し違う使われ方だけど、根本的にはデータをまとめるという目的は同じ。
「すべてがオブジェクト」って聞くけど、本当にそうなの?
オブジェクト指向って最近はあまり使わないって聞いたけど?
そんなことはないよ。ただ「何でもかんでもクラスで表現する」過度なオブジェクト指向は反省されていて、関数型プログラミングのアイデアを取り入れるのが現代のトレンドだね。ReactやTypeScriptでは関数ベースのコンポーネントが主流だし、GoやRustはクラスの代わりに構造体とインターフェースを使う。「適材適所で使う」のが現代的な考え方だよ。
まとめ:ざっくりこれだけ覚えればOK!
オブジェクトって出てきたら「クラスの設計図から作られた実体、データと動作をまとめたプログラムの部品」と思えばOK!
📖 おまけ:英語の意味
「Object」 = モノ・対象
💬 現実世界の「モノ」をプログラムで表現するためのユニット。1960年代のSimulaで生まれた概念