♪ SS herald tribune ♪

令和元年生まれの男児とたのしく暮らしているアラサーの日常

Rubyのinitializeメソッドについて


initializeメソッド

  • Rubyコンストラクタ(オブジェクト生成時に自動で呼び出される初期化処理のメソッド)   
    • コンストラクタの対義語は、デストラクタ(オブジェクトを削除するときに自動で呼び出されて後処理をするメソッド)
  • インスタンス変数(@name, @price)はprivate扱いとなるため、クラス外から呼び出すにはgetter/setterが必要

  • 引数の書き方による違い

    • initialize(name:, price:
      • 引数を渡すかは任意 
      • キー情報を指定しなければいけない
    • initialize(name, price
      • 引数を2つ渡すことが必須
      • キー情報を指定しなくても順番に認識される
  • initializeメソッドはオーバーロードではなくオーバーライド

    • オーバーロード: 引数や戻り値が異なる、同名のメソッドを複数定義することを指す
    • オーバーライド: 子クラスで親クラスと同名のメソッドを定義した場合、子クラスのメソッドのみ有効となる
    • 親クラスの同名メソッドを呼び出したいときは、superメソッドを使って呼び出す