Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Class::new()メソッドの使い方

newメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

newメソッドは、Rubyにおいて、あるクラスの新しいインスタンス(オブジェクト)を生成し、初期化を実行するメソッドです。これは、クラスという設計図から、実際に操作できる具体的なオブジェクトを作り出す際に使用される、非常に基本的な仕組みです。

具体的には、newメソッドが呼び出されると、まずそのクラスのメモリ上に新しい空のオブジェクトが確保されます。この段階では、まだオブジェクトには具体的なデータが設定されていません。次に、この新しく作られたオブジェクトに対して、そのクラス内で定義されているinitializeメソッドが自動的に呼び出されます。initializeメソッドは、生成されたばかりのオブジェクトの初期状態を設定するために使われる特別なメソッドで、例えばインスタンス変数に初期値を代入するといった、オブジェクトの初期設定に関する処理を行います。

newメソッドに渡された引数は、そのままinitializeメソッドに引き渡されます。これにより、オブジェクトを作成する際に、必要な初期データを指定して柔軟にオブジェクトを初期化することが可能です。例えば、String.new("Ruby")と記述すると、"Ruby"という文字列を持つ新しいStringオブジェクトが生成されます。

このnewメソッドは、Rubyのオブジェクト指向プログラミングにおいて、クラスからオブジェクトを作り出すための最も標準的かつ重要な手段です。あらゆるクラスからオブジェクトを生成する際に利用されるため、システムエンジニアを目指す上で、その動作と役割を正確に理解することは不可欠です。

構文(syntax)

1Class.new do
2  def example_method
3  end
4end

引数(parameters)

superclass = nil

  • superclass = nil: 新しく作成するクラスの親クラスを指定します。指定しない場合は Object クラスを親クラスとします。

戻り値(return)

インスタンス

Class#new は、そのクラスの新しいインスタンス(オブジェクト)を生成して返します。

関連コンテンツ