メソッドの可視性を定義する
Rubyのメソッドはpublic、private、protectedの3つの呼び出し制限をかけることができます。以下にそれぞれの特徴を示します。
table:メソッドの呼び出し制限
public 制限なしに呼び出すことができる
private 同じクラスのインスタンスだけから呼び出すことができる
protected そのメソッドが定義されたクラスおよびその下位クラスのインスタンスからしか呼び出せない
code:ruby
class SampleClass
def hoge # public (default)
end
def boke
end
private :boke # private
def auau
end
protected :auau # proctected
end
o = SampleClass.new
o.hoge
o.boke #=> NameError
o.auau #=> NameError
#クラスとオブジェクト