プログラミング

オブジェクト指向のクラスとインスタンスについてわかりやすく解説

オブジェクト指向のクラスとインスタンスについてわかりやすく解説

本記事ではオブジェクト指向のクラスインスタンスについて初心者向けになるべくわかりやすく解説してみました。

  • クラス・インスタンスとは?
  • クラスの定義方法とその効果
  • インスタンスの使い方

本記事を読むことでオブジェクト指向にまつわる上記の内容が理解できることでしょう。

ハニ太郎
ハニ太郎
それでは早速クラスとインスタンスについてわかりやすく解説していくよ♪

クラス・インスタンスとは?

クラス”とは、いわばインスタンス(オブジェクト)の設計図になります。

「オブジェクト」という言葉は曖昧で、クラスのことを指す場合もあるが、基本的にはクラスから生み出されるインスタンスのことだと思ってもらえればOK。

そして、このクラスという設計図に対して具体的な属性値を与え、メモリ上に生成してポコリと実態化させたものを”インスタンス”と呼びます。

クラスとインスタンス

オブジェクト指向では、クラスという設計図を基に実体であるインスタンスが生成されるという関係をまずは押さえておきましょう。

クラスは設計図。クラスから生み出された実体がインスタンス。 

クラスの定義方法

それを踏まえて、本章では設計図であるクラスの定義方法について解説いたします。

クラス図(UML)

クラスには「どのような属性や操作を持っているか」を記述していきます。

クラスとインスタンス

なお上図のように、クラスの設計内容をクラス名・属性・操作の一覧として並べる書き方は”クラス図”という設計図のルールに準拠したものです。

クラス図は主にオブジェクト指向設計で用いられる統一モデリング言語、UML(Unified Modeling Language)で定められている図の一つ。

クラス属性・操作の宣言方法

クラスの「属性」を宣言するには、クラス内で変数宣言を記述するだけでOKです。

一方の「操作」に関しても、クラス内でメソッドを記述するだけになります。

設計図であるクラスを定義する際は、クラス名・属性(データ)・操作(メソッド)を必要に応じて記述する。

クラス定義による効果

前章で解説した方法でクラスを定義した場合、以下2つの効果が表れます。

  • インスタンスの生成が可能になる
  • クラス型の変数が利用可能になる

インスタンスの生成が可能になる

そもそもインスタンスを生成するためにクラスを定義するのですから「インスタンスの生成が可能になる」というのは当たり前とも言えます。

クラス型の変数が利用可能になる

「クラス型の変数が利用可能になる」というのはクラスから生み出されたインスタンスを入れる箱を利用できるようになるということです。

クラスを定義することで利用可能になる型のことを「クラス型」といいます。

通常、インスタンスはクラス型変数に入れて利用するのですが、これはクラスから生み出されるインスタンスを識別するためです。

クラス型変数を用いる理由はインスタンスをプログラム的に識別するため。

これにより同じクラスからいくつインスタンスを生成しても別の実体(例えばA,B,C)として識別できるようになります。

インスタンスの利用方法

インスタンスの利用方法はプログラミング言語によって異なり、例えばJavaの場合だとNEW演算子を用いて生成したインスタンスをクラス型の変数などに格納して利用します。

クラス名 変数名 = new クラス名():

 

インスタンスの生成・利用方法については、各自利用するプログラミング言語のリファレンスを参考にしてみてください。

どの言語でも変わらないクラスとインスタンスの基本は「設計図であるクラスを定義してそこからインスタンスが生成される」という関係です。

利用方法はプログラミング言語によって異なるがオブジェクト指向におけるクラスとインスタンスの本質は変わらない。 

クラス・インスタンス【まとめ】

まとめ
  • クラスは設計図。設計図であるクラスから生み出された実体がインスタンス。
  • クラスを定義する際は「どのような属性や操作を持っているか」を記述していく。
  • クラスを定義することによりインスタンスの生成とクラス型変数の利用が可能になる。
  • インスタンスの利用方法はプログラミング言語によって異なるが本質は変わらない。
ハニ太郎
ハニ太郎
ここまで記事を読んでいただきありがとうございました♪

本記事がクラス・インスタンスの理解促進に少しでもお役に立てたのなら幸いです。

オブジェクト指向を学ぶのにおすすめの本5選
【初心者向け】オブジェクト指向を学ぶのにおすすめの本5選オブジェクト指向を学ぶのにおすすめの本を初心者向けに紹介。どの本も良書なので一冊を繰り返し読み返すことでオブジェクト指向をマスターすることができるでしょう。...
こちらの記事もおすすめ!

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です