title: Difference between reopen() and reopenClass() in Ember.js
body: <p>I got confused while I was reading the documentation on emberjs.com
  <a href="http://emberjs.com/documentation/#toc_reopening-classes-and-instances" rel="noreferrer">http://emberjs.com/documentation/#toc_reopening-classes-and-instances</a></p>
  
  <p>On the page above, it explains like this.</p>
  
  <pre><code>Person.reopen({
      // override `say` to add an ! at the end
      say: function(thing) {
      this._super(thing + "!");
      }
  });
  </code></pre>
  
  <blockquote>
    <p>As you can see, reopen is used to add properties and methods to an instance. But when you need to create class method or add the properties to the class itself you can use reopenClass.</p>
  </blockquote>
  
  <pre><code>Person.reopenClass({
      createMan: function() {
      return Person.create({isMan: true})
      }
  });
  
  Person.createMan().get('isMan') // true
  </code></pre>
  
  <p>although the explanation says "reopen is used to add properties and methods to an instance.", I think both example shown above are talking about how to create class method or add the properties to the class itself, not to the instance.</p>
  
  <p>Am I misunderstanding what it says?
  I'm not an experienced programmer, so I might be misunderstood...  </p>
  
  <p>please explain when to use reopen and reopenClass if I'm misunderstood.</p>
  
  <p>Thanks in advance! </p>