概要 Rubyのprivateメソッドやprotectedメソッドの挙動が、なんかJavaやC#でよく見るオブジェクト指向な挙動と違うので、動かしながら調べてみた。 前提 ruby 2.2.2 privateメソッド レシーバ付きで呼び出せなくなる class Hoge def initialize say_hello end private def say_hello p 'Hello!' end end hoge = Hoge.new # Hello! hoge.say_hello # エラー rubyでは、private以下のメソッドは全てprivateになり、クラス内から呼び出すことができてもレシーバ付きで呼び出すことができなくなる まぁ呼ぼうと思えば呼べる class Hoge def initialize say_hello end private def say_hello