はじめに
今回は、クラスやオブジェクトなどの用語の概念・イメージを解説していきます。
以下、今回確認していく用語一覧になります。
- オブジェクトとは
- クラスとは
- メンバとは
- インスタンスとは
- コンストラクタとは
- 関数・メソッドとは
- フィールド・プロパティとは
- シグネチャとは
- ライブラリ・モジュール・コンポーネントとは
用語の確認
オブジェクトとは?
色々な種類のデータを1つにまとめることができるもの。抽象的な概念で具体化されたもの(実体となったもの)がインスタンス。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgyJUFBJUUzJTgzJTk2JUUzJTgyJUI4JUUzJTgyJUE3JUUzJTgyJUFGJUUzJTgzJTg4JUU2JThDJTg3JUU1JTkwJTkxJUUzJTgxJUE4MTAlRTUlQjklQjQlRTYlODglQTYlRTMlODElQTMlRTMlODElQTYlRTMlODIlOEYlRTMlODElOEIlRTMlODElQTMlRTMlODElOUYlRTMlODElOTMlRTMlODElQTgmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTYxZDE2YjczMGUyMWU0NjQyNGFkMDU2Yzg1YWRjNjE3&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0dXRpbm9jbyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9Y2E5MDk2OWY1MTNiZGQzZTJlMWZmYWZjZWQ0MmIwOGQ&blend-x=142&blend-y=486&blend-mode=normal&s=a61136534fa432ab0f135f8d9f6842ae)
クラスとは?
オブジェクトをデザインする役割があり、オブジェクトの元になる型枠(フレームワーク)。
メンバとは?
オブジェクトの構成要素。
オブジェクトのメンバはプロパティ(フィールド変数)とメソッドの2つだけ。
インスタンスとは?
あるクラス型のオブジェクトの実例(実体)。new演算子を使って生成される。
コンストラクタとは?
引数をプロパティに初期値として代入。(メンバ変数の初期化)オブジェクトのメンバには含まれない。
関数・メソッドとは?
引数を与えることによって決められた処理を行い、その結果を返すもの。
関数・メソッドの違いはこちらを参考にしてみて下さい。
![](https://resanaplaza.com/wp-content/uploads/2021/01/tips_program.jpg)
![](https://www.sejuku.net/blog/wp-content/uploads/2017/05/image-116.jpg)
フィールド・プロパティとは?
フィールド:クラス内で宣言された項目ごとの変数のこと。フィールド変数=フィールド。
プロパティ:オブジェクトの属性。
オブジェクトという抽象概念で考えるとフィールド変数はプロパティと言う。
つまり、
オブジェクトのメンバは、プロパティとメソッド。
インスタンスのメンバは、フィールド変数とメソッド。
プロパティとフィールド変数はよく混同して使われるため同じと考えても良いかもしれません。
シグネチャとは?
メソッド名と引数構成(型・数・並び順)を合わせた呼び方。戻り値型、アクセス修飾子は含まれない。
ライブラリ・モジュール・コンポーネントとは?
↓下記の記事がわかりやすかったので詳細はこちらをご一読下さい。
これらの用語はどちらかというとシステム設計などでよく出てくる用語になっております。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoEAS3GOfKTVV1HR7d4usoLVJ9_2WfxkElt4BOFmXAbN5LKSdsHI3MuSTn5YFQBi-Ad5H7EyC45JZvoHyOrvNtfINVhkFOYTPFxz_rhUiWcsTU7T8Rb06MSzgL7CVxcP-3FgZBb5yOZzs/w1200-h630-p-k-no-nu/0602-1.png)
最後に
コーディングに用語は必要ないと思われがちですが、調べ物をした際に出くわしたり、会話の中で使われたりする以上知っておかなければ理解に時間がかかってしまいます。
ぜひ、一度は自身で用語のまとめ・確認をしてみて下さい。