なんとなく覚えてるだけだったので、きちんと調べてみました。 private Rubyのprivateはレシーバ形式*1での呼び出しが禁止になるという意味。selfレシーバが省略された形式(関数形式)でのみ呼び出し可能*2になる。関数形式で呼び出せるということは・・・サブクラスからの呼び出しが可能であるということになる!Javaを知ってるとなんか違和感。 class HogeSuper private def private_method puts "private" end end class Hoge < HogeSuper def hoge private_method # サブクラスからprivateなメソッドを呼び出してる end end Hoge.new.hoge # => "private" protect protectedはレシーバ形式での呼び出しが自クラス及びサブクラスか