🧚‍♀️

Ruby クラスとインスタンス

2023/04/28に公開

インスタンスとは何か?

クラスから生成されたオブジェクトをインスタンスと呼ぶ。
クラスはいわばインスタンスを作るための型のようなもの。

クラスとインスタンスの違い
https://qiita.com/yamaday0u/items/dca132e46b390c9af51b
クラスは設計図・仕様、インスタンスは個別のデータ

例えば、新しく車のオブジェクトを作るたびにハンドルやブレーキなどの設定をするのは大変なので、あらかじめクラスという型にセットしておき、その型からオブジェクトを作り出せば簡単に作成できる!

👇


オブジェクト指向におけるクラスの概念

引用 https://pikawaka.com/ruby/class

クラスとは、インスタンスを作成する時の「元となる設計図のこと」

用語 役割 例1
クラス 設計図 たい焼きの型
インスタンス 設計図を元に作成される実物体 クリームのたい焼き あんこのたい焼き

Rubyは、「もの」を組み立てる様に表現してコンピュータに指示するオブジェクト指向プログラミング言語です。「もの」を組み立てる際の設計図を「クラス」と呼び、その「設計図から作成された実物体」のことを「インスタンス」と呼びます。

オブジェクト指向プログラミング言語とは

プログラムを意図した順番通りに表現する代表的な方法が下記の3つ。
「Rubyは、オブジェクト指向プログラミング言語」

プログラムの表現方法 プログラムの流れ
1 オブジェクト指向プログラミング 「もの」を組み立てる様に表現してコンピュータに指示する
2 手続き型プログラミング プログラムを上から順番に処理を実行する
3 関数型プログラミング 関数の組み合わせによってプログラムを組み立てる様に表現する

引用 https://pikawaka.com/ruby/class

クラスとインスタンス

設計図と設計図から作成される実物体と言われている。

引用 https://pikawaka.com/ruby/class

より具体的なイメージでたい焼きに例えられることが多い。
(たい焼きの型で様々な種類の味を持つたい焼きを作ることができる)

クラスの定義

class クラス名
  #メソッドなど
end

(クラス名の最初の文字は大文字)

インスタンス作成

インスタンスはクラスから作成する。

クラス名.new

たい焼きの型からたい焼きを作り出すには、以下のように記述する。

class Taiyaki
  def メソッド
  end
end

#たい焼きの設計図からたい焼きを作成
taiyaki = Taiyaki.new
#=> #<Taiyaki:0x007fd948934e90>

Taiyaki.newの返り値がTaiyaki:0x007fd948934e90なので、たい焼きのインスタンス(オブジェクト)が作成された事が分かる。

https://pikawaka.com/ruby/class


言葉の意味をあまり理解できていなかったので簡単に触れてみた!
少しでも知識があるのとないのとでは違ってくると思うから、
それを積み重ねていきたい🏋🏻

Discussion