#初めに
簡単にアウトプットさせてもらいます
#クラス変数とは
クラス変数とはそのクラス内で定義された変数であり、@@から始まる変数となります。
#インスタンス変数とは
インスタンス変数とはそのクラスのインスタンスで使用できる変数です。@から始まる変数となります。
#例
クラス変数
class Muscle
@@name = "大胸筋が歩いてる!!"
def initiallize
@@name
end
def workout
puts @@name
end
end
muscle = Muscle.new
muscle.workout
#実行結果
#大胸筋が歩いてる!!
インスタンス変数
class Muscle
def initialize(name)
@name = name
end
def workout
puts "#{@name}"
end
end
muscle = Muscle.new("大胸筋が歩いてる!!")
muscle.workout
#実行結果
#大胸筋が歩いてる!!
結果としてクラス変数と同じですが、インスタンス変数に値が入るのはインスタンス生成時です。
#まとめ
インスタンス変数とクラス変数の違いは、インスタンス毎に値が固有であるか否か