【Ruby】インスタンスについて徹底解説!

Ruby

インスタンスとは

インスタンスとはあるクラスから生まれたオブジェクトで、クラスで定義した属性を持つものです。

インスタンスって何?
リンクをコピーしました

クラスから生成されたオブジェクトをインスタンスと呼びます。
ではクラスとはなんだったでしょうか?

クラスはいわばインスタンスを作るための型のようなものです。
クラスで定義された属性などがセットされて生まれるのがインスタンスです。

ではわかりやすく車を例に見てみましょう。
車が持つ主な性能としてはハンドルとブレーキとクラクションがありますね。
これはどんな車にも共通しています。
あとはそれぞれ名前があり、ボディカラーがあったりします。

こういったものを新しく車のオブジェクトを作るたびに設定していたのでは非常に大変です。
ですのでクラスという型にあらかじめこのようなものをセットしておき、その型からオブジェクトを作り出せば上のような特徴を持ったインスタンスとして簡単に作成できます。

では実際にインタンスを作成してみましょう。
インスタンスの作成にはnewメソッドを使用します。

ruby
1
2
3
4
5
6
7
8
9
10
11
class Car
  def initialize(name)
    @name = name
  end

  def klaxon
   puts "プーーーーーー!"
  end
end

car = car.new("ベンツ")

ここで定義されているinitializeメソッドはインスタンスが生成された時に自動で実行されるメソッドです。
これでnameという属性に「ベンツ」という値がセットされました。

Carクラスから生成されたcarというインスタンスはベンツという固有の名前をもち、klaxonというメソッドを使うことができます。
この1行だけでこれだけの情報を持ったオブジェクトが作成できるので、非常に便利ですよね!

まとめ

インスタンスとはあるクラスから生まれたオブジェクトで、クラスで定義した属性を持つことができる大変便利なものと覚えておきましょう!