rubyオブジェクト指向(4)オーバーロード

結論から言うと、rubyにはオーバーロードの概念がないです。

オーバーロードとは、メソッドの名称を変えることなく引数の型、個数のみを変えて同名のメソッドを作ることができるオブジェクト指向プログラミングによくあるテクニックです。
オーバーロードの利点はメソッドの引数をその役割に応じて変えてやることで、同じような機能を持ったメソッドを同じ名前で定義できるので、コードが分かりやすくなります。
rubyでは変数の型が固定化していない(自由に色々な型を同一の変数に代入できる)ので、オーバーロードの概念はありません。(違う引数を持つ同じ名前のメソッドは作れない)

class Hoge
  def a(a) #・・・引数を1つ持つaというメソッド 
  end
  def a(a,b) #・・引数を2つ持つaというメソッド 
  end
end
h = Hoge.new 
h.a(1)#・・・ここでエラーとなる

この記事が気に入ったらサポートをしてみませんか?