Ruby/Rails 勉強会@関西 の初級者向けレッスンで、public メソッドと private メソッドが紹介されて「protected は使うべきでない」とだけ紹介された。 グループワーク中に質問されたけど、時間がなくて答えられなかったのでメモ。 public レシーバを指定して呼び出す。公開されたインターフェイス。 private レシーバを指定できない。自クラスの中だけで使える。非公開。 では protected とは、 protected レシーバを指定できる。しかし非公開。 class Foo def initialize; @foo = 0 end def inspect; "Foo: #{@foo}" end def increment(o) o._increment end protected def _increment; @foo += 1 end end f =