initialize は特殊なメソッドです。BookInStock.new を呼び出して新しいオブジェクトを生成す ると、Ruby はいくらかメモリを割り当て、そこに初期化されていないオブジェクトを保持します。そし て、そのオブジェクトの initialize メソッドを呼び出します。その際、newに渡された引数をすべて initialize に渡します。 class BookInStock def initialize(isbn, price) @isbn = isbn @price = Float(price) end end book = BookInStock.new("12345", 500) p book #<BookInStock:0x000000021e8b40 @isbn="12345", @price=500>