その moudle or class に定義されたメソッドって何があるんだっけ?ってときに便利。

Module#instance_methods (Ruby 3.0.0 リファレンスマニュアル)

class Foo
  private;   def private_foo()   end
  protected; def protected_foo() end
  public;    def public_foo()    end
end

# あるクラスのインスタンスメソッドの一覧を得る
p Foo.instance_methods(false)
p Foo.public_instance_methods(false)
p Foo.private_instance_methods(false)
p Foo.protected_instance_methods(false)
# [:protected_foo, :public_foo]
# [:public_foo]
# [:private_foo]
# [:protected_foo]

Object#methods (Ruby 3.0.0 リファレンスマニュアル)

class Parent
  private;   def private_parent()   end
  protected; def protected_parent() end
  public;    def public_parent()    end
end

class Foo < Parent
  private;   def private_foo()   end
  protected; def protected_foo() end
  public;    def public_foo()    end
end

obj = Foo.new
class << obj
    private;   def private_singleton()   end
    protected; def protected_singleton() end
    public;    def public_singleton()    end
end

# あるオブジェクトの応答できるメソッドの一覧を得る。
p obj.methods(false)
p obj.public_methods(false)
p obj.private_methods(false)
p obj.protected_methods(false)

# 実行結果
# [:protected_singleton, :public_singleton]
# [:public_singleton, :public_foo]
# [:private_singleton, :private_foo]
# [:protected_singleton, :protected_foo]