ume

ruby 初学者用 selfとは

前書き 

初心者で勉強していると新しい用語などの理解が2〜3割しかないまま次々進む傾向にあると思いました。 私はselfについて理解が2〜3割しかなく、後から『どういう意味だったっけなぁ?』と思うことが多く結果「前ちょっとやったのに覚えていない自分は頭が悪い」「センスがないのかな?」といった勉強のモチベーションが下がる要因になると思ったので今日はselfの理解を深めたいと思います。

selfの私の理解

①selfの有無でメソッドの名前が変わる。 def self.メソッド名 ⇨クラスメソッドという

通常はdef メソッド名 ⇨インスタンスメソッド

インスタンスメソッドとクラスメソッドで呼び出し方が違う。 インスタンスメソッド↓

class Car
def maker 
    puts "TOYOTA"
  end 
end 
    company = Car.new()
  puts company.maker

クラス名.new()でインスタンスを作成しそれを変数に代入する その変数.メソッド名でメソッドの中身が表示される

クラスメソッド↓

class Car
def self.maker 
    puts "TOYOTA"
  end 
end 
  puts Car.maker 

インスタンスを作成する必要がなくクラス名.メソッド名でメソッドの中身を表示させる。

わかったこと

selfはそのメソッドを実行しようとしているオブジェクトを指す。