本記事ではオブジェクト指向のクラスとインスタンスについて初心者向けになるべくわかりやすく解説してみました。
【公式HP】https://flxy.jp/
- 90%以上がフルリモート案件
- 週1〜3日程度の副業向け案件が多い
- 自身のライフスタイルに合った働き方ができる
- 希望に合わせてコーディネーターが最適な提案をしてくれる
- 定期開催される交流会や勉強会で人脈を広げることができる
\ 最短60秒で登録可能! /
目次
クラス・インスタンスとは?わかりやすく解説
クラスとは、いわばインスタンス(オブジェクト)の設計図になります。
「オブジェクト」という言葉は曖昧で、クラスのことを指す場合もあるが、基本的にはクラスから生み出されるインスタンスのことだと思ってもらえればOK。
そして、このクラスという設計図に対して具体的な属性値を与え、メモリ上に生成してポコリと実態化させたものをインスタンスと呼びます。
オブジェクト指向では、クラスという設計図を基に実体であるインスタンスが生成されるという関係をまずは押さえておきましょう。
クラスは設計図。クラスから生み出された実体がインスタンス。
クラスの定義方法についてわかりやすく解説
それを踏まえて、本章では設計図であるクラスの定義方法について解説いたします。
クラス図(UML)
クラスには「どのような属性や操作を持っているか」を記述していきます。
なお上図のように、クラスの設計内容をクラス名・属性・操作の一覧として並べる書き方は”クラス図”という設計図のルールに準拠したものです。
クラス図は主にオブジェクト指向設計で用いられる統一モデリング言語、UML(Unified Modeling Language)で定められている図の一つ。
クラス属性・操作の宣言方法
クラスの「属性」を宣言するには、クラス内で変数宣言を記述するだけでOKです。
一方の「操作」に関しても、クラス内でメソッドを記述するだけになります。
設計図であるクラスを定義する際は、クラス名・属性(データ)・操作(メソッド)を必要に応じて記述する。
クラス定義による効果
前章で解説した方法でクラスを定義した場合、以下2つの効果が表れます。
- インスタンスの生成が可能になる
- クラス型の変数が利用可能になる
インスタンスの生成が可能になる
そもそもインスタンスを生成するためにクラスを定義するのですから「インスタンスの生成が可能になる」というのは当たり前とも言えます。
クラス型の変数が利用可能になる
「クラス型の変数が利用可能になる」というのはクラスから生み出されたインスタンスを入れる箱を利用できるようになるということです。
クラスを定義することで利用可能になる型のことを「クラス型」といいます。
通常、インスタンスはクラス型変数に入れて利用するのですが、これはクラスから生み出されるインスタンスを識別するためです。
これにより同じクラスからいくつインスタンスを生成しても別の実体(例えばA,B,C)として識別できるようになります。
インスタンスの利用方法についてわかりやすく解説
インスタンスの利用方法はプログラミング言語によって異なり、例えばJavaの場合だとNEW演算子を用いて生成したインスタンスをクラス型の変数などに格納して利用します。
クラス名 変数名 = new クラス名():
インスタンスの生成・利用方法については、各自利用するプログラミング言語のリファレンスを参考にしてみてください。
どの言語でも変わらないクラスとインスタンスの基本は「設計図であるクラスを定義してそこからインスタンスが生成される」という関係です。
利用方法はプログラミング言語によって異なるがオブジェクト指向におけるクラスとインスタンスの本質は変わらない。
オブジェクト指向のクラスとインスタンス|まとめ
- クラスは設計図。設計図であるクラスから生み出された実体がインスタンス。
- クラスを定義する際は「どのような属性や操作を持っているか」を記述していく。
- クラスを定義することによりインスタンスの生成とクラス型変数の利用が可能になる。
- インスタンスの利用方法はプログラミング言語によって異なるが本質は変わらない。
ここまで記事を読んでいただきありがとうございました。本記事がクラスとインスタンスの理解促進に少しでもお役に立てたのなら幸いです。当ブログでは他にもオブジェクト指向に関する記事を公開しているので、気になる記事がないか併せて確認してみてください。
- 90%以上がフルリモート案件
- 週1〜3日程度の副業向け案件が多い
- 自身のライフスタイルに合った働き方ができる
- 希望に合わせてコーディネーターが最適な提案をしてくれる
- 定期開催される交流会や勉強会で人脈を広げることができる
\ 最短60秒で登録可能! /