Object#protected_methods もありますけれど。
class A def hello A.new.x end def x; puts "hello"; end protected :x end a = A.new p a.methods #=>[:hello, :x, :nil?, ...] p a.protected_methods #=>[:x] a.hello #=>"hello" a.x #=>protected method `x' called for #<A:**> (NoMethodError)