クラスとインスタンスの違い

Java

プログラミングにおけるクラスとインスタンスの違いを解説していきます。

簡単に言うと、クラスは設計図、インスタンスは設計図から作られた実物です。

クラス

オブジェクト指向ではプログラムを「モノ」の単位で記述します。この「モノ」をオブジェクト指向では、「オブジェクト」と呼びます。

オブジェクト指向がよく分からない方は、以下の記事を参考にしてください。

オブジェクト指向(プログラミング)とは?
プログラミングを勉強していると、「オブジェクト指向」という言葉をよく耳にしませんか?「オブジェクト指向って何?」「どういうものなの?」「何のためにあるの?」このような、疑問が上がると思います。私も初...

クラスというのは、そのオブジェクトを作るための設計図のようなものです。

クラスには「属性」「操作」を記述します。

  • 属性・・・オブジェクトが持つデータや情報
  • 操作・・・オブジェクトが持つ機能や振る舞い

テレビを例に取って見てみると、属性と操作は以下のようなものが挙げられます。

本来はもっとたくさんの属性と操作があります。
ここではそれぞれの違いが分かってもらえれば幸いです。

インスタンス

インスタンスとは、クラス(設計図)を元に作り出されたオブジェクトのことです。

また、クラスからインスタンスを作成することをインスタンス化と言います。

※オブジェクトとインスタンスの違いは後ほど解説します。ここではとりあえずインスタンス=オブジェクトだと思って下さい。

先ほどのテレビの例でイメージしてみましょう。

クラスとは設計図のことで、現実で言うとまだ紙っぺらの状態です。
これを実際に部品やら何やら組み立て、出来上がったものがインスタンスです。

オブジェクトとインスタンスの違い

オブジェクトとは何かしらのデータのことをオブジェクトと呼んでいます。
整数や浮動小数点数、文字列や関数など全てオブジェクトです。

そのデータ(オブジェクト)の中でも、特にクラスから実体化させたものをインスタンスと呼んでいるのです。
つまり、インスタンスはオブジェクトの一部ということです。

まとめ

・クラスは設計図

・インスタンスはクラスを元に作ったオブジェクト

コメント

  1. […] […]

タイトルとURLをコピーしました