title: How does Rails instantiate objects retrieved from the database?
body: <p>In Rails, <code>ActiveRecord::Base.new</code> is used for instantiating new records that aren't yet saved to the database:</p>
  
  <pre><code>new_user = User.new(name: "Bob")
  new_user.new_record? # =&gt; true
  </code></pre>
  
  <p>So how does Rails instantiate records that are retrieved from the database? Does it use the same new method and then change values like <code>@new_record</code> after the fact? Or does it use some sort of special instantiation method for records retrieved from the database?</p>