title: Ruby classes: initialize self vs. @variable
body: <p>Can someone explain the difference between initializing "self" and having @variables when defining classes?</p>
  
  <p>Here's an example</p>
  
  <pre><code>class Child &lt; Parent
    def initialize(self, stuff):
      self.stuff = stuff
      super()
    end
  end
  </code></pre>
  
  <p>So in this case, wouldn't I be able to replace <code>self.stuff</code> with <code>@stuff</code>? What's the difference? Also, the <code>super()</code> just means whatever is in the Parent initialize method the Child should just inherit it right?</p>