プログラミング PR

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

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

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

エンジニアの副業におすすめ!

エンジニア、デザイナー向けの週2、3日のお仕事紹介【ITプロパートナーズ】【公式HP】https://itpropartners.com/

  • 週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 クラス名():

 

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

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

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

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

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

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

また、当ブログでは他にもオブジェクト指向に関する記事を公開しているので、気になる記事がないか併せて確認してみてください。

object-pic
【2024年最新】オブジェクト指向のおすすめ本5選オブジェクト指向を学ぶのにおすすめの本を初心者向けに紹介。どの本も良書なので一冊を繰り返し読み返すことでオブジェクト指向をマスターすることができるでしょう。...
engineer-market-value-diagnosis
【3分でできる】エンジニアとしての市場価値診断エンジニアとしての市場価値を診断するには?本記事ではエンジニアにとって市場価値を把握しておくことの重要性や市場価値診断ツールの紹介などしております。...
shukatu
【新卒】ITエンジニア志望の学生におすすめ就活サイト・エージェント10選エンジニア志望だがIT企業の探し方がよくわからないし、就活を有利に進めるためのサポートを受けたい。そんな学生におすすめしたいのが新卒就活サイト・エージェント。本記事では新卒就活サイト・エージェントの中でも特におすすめしたいものを厳選して紹介しております。...
second-new-graduate-engineer
【第二新卒向け】未経験からエンジニアを目指す人におすすめの転職エージェント5選本記事ではそんな数ある転職エージェントの中でも特に、第二新卒で未経験からエンジニアを目指す人におすすめの転職エージェントを厳選して5社紹介していきたいと思います。...
engineer-sidejob-agent
【土日リモート可】エンジニアにおすすめの副業エージェント21選エンジニアにおすすめの副業エージェントは?本記事では数ある副業案件を扱うエージェントの中から現役エンジニアである筆者が厳選して21社紹介しております。副業に興味のあるエンジニアは要チェックです。...
freelance-engineer-agent
【2024年最新】フリーランスエンジニアにおすすめのエージェント26選独立後に案件を安定的に獲得できるか不安・・・。そんなエンジニアの方におすすめなのがフリーランスエージェントです。本記事では数あるエージェントの中でも特におすすめしたいエージェントを7社ご紹介いたします。...
こちらの記事もおすすめ!

COMMENT

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