Ruby では、インスタンス メソッドに対して 3 つの異なるレベルの可視性があります。
メソッドのデフォルトは ですpublic。これは、おそらく慣れ親しんでいるものです。オブジェクトにアクセスできる場合は、常にこのメソッドにアクセスできます。
privateとprotected似ています。クラスとサブクラスからのみアクセスできます。違いは、publicメソッドを明示的なレシーバーで呼び出すことができないことです。privateつまり、同じクラスの別のインスタンスから別のメソッドの関数を呼び出すことはできますが、呼び出すことはできませんprotected。
したがって、クラス外でメソッドを使用できるようにする必要がある場合は、デフォルトの可視性を維持してくださいpublic。カスタム比較ロジックなど、そのクラスのインスタンスからメソッドにアクセスする必要がある場合は、 を使用しますprotected。また、メソッドがそのクラスのインスタンスの外部で表示されてはならないものである場合は、private.
実際にあなたの質問に答えるにvisbilityは、可視性の現在の状態を返すメソッドがあります-それが、、、publicまたはprivateですprotected。