ksino's diary

覚えたことを忘れないように、小さなことでも書いていく。

Rubyのprivateメソッド

Javaのprivateメソッドは「自クラス内でしか呼び出しができないメソッド」ですが、Rubyでは「レシーバを付けた呼び出しができないメソッド」です。あくまでそれだけです。自クラス外からも呼び出しができます。

# coding: utf-8
class SuperClass
  private
  def private_method
    puts "privateメソッド"
  end 
end
class SubClass < SuperClass
  def sub_method
    private_method
  end 
end
SubClass.new.sub_method

これを実行すると

privateメソッド

と出力されます。
Ruby認定技術者試験に向けて勉強中ですが、しっかり理解しておかないと、試験で失敗しそうです。