プログラミング PR

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

class-instance
記事内に商品プロモーションを含む場合があります

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

今すぐ案件を探す!

フリーランスエンジニアのための高単価案件紹介サービス【FLEXY(フレキシー)】【公式HP】https://flxy.jp/

  • 90%以上がフルリモート案件
  • 週1〜3日程度の副業向け案件が多い
  • 自身のライフスタイルに合った働き方ができる
  • 希望に合わせてコーディネーターが最適な提案をしてくれる
  • 定期開催される交流会や勉強会で人脈を広げることができる

\ 最短60秒で登録可能! /
無料会員登録
案件を探す

engineer-sidejob-agent
【土日リモート可】エンジニアにおすすめの副業エージェント21選エンジニアにおすすめの副業エージェントは?本記事では数ある副業案件を扱うエージェントの中から現役エンジニアである筆者が厳選して21社紹介しております。副業に興味のあるエンジニアは要チェックです。...

クラス・インスタンスとは?わかりやすく解説

system-kanshi

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

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

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

クラスとインスタンス

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

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

クラスの定義方法についてわかりやすく解説

search

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

クラス図(UML)

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

クラスとインスタンス

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

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

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

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

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

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

クラス定義による効果

engineer

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

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

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

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

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

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

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

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

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

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

インスタンスの利用方法についてわかりやすく解説

good-money

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

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

 

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

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

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

オブジェクト指向のクラスとインスタンス|まとめ

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

ここまで記事を読んでいただきありがとうございました。本記事がクラスインスタンスの理解促進に少しでもお役に立てたのなら幸いです。当ブログでは他にもオブジェクト指向に関する記事を公開しているので、気になる記事がないか併せて確認してみてください。

今すぐ案件を探す!

フリーランスエンジニアのための高単価案件紹介サービス【FLEXY(フレキシー)】【公式HP】https://flxy.jp/

  • 90%以上がフルリモート案件
  • 週1〜3日程度の副業向け案件が多い
  • 自身のライフスタイルに合った働き方ができる
  • 希望に合わせてコーディネーターが最適な提案をしてくれる
  • 定期開催される交流会や勉強会で人脈を広げることができる

\ 最短60秒で登録可能! /
無料会員登録
案件を探す

object-orientation-book
【2024年最新】オブジェクト指向の独学におすすめの本5選を現役エンジニアが紹介オブジェクト指向を学ぶのにおすすめの本を初心者向けに紹介。どの本も良書なので一冊を繰り返し読み返すことでオブジェクト指向をマスターすることができるでしょう。...
こちらの記事もおすすめ!

COMMENT

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