title: Adding methods to an Objective C class interface is optional?
body: <p>Coming from a C++ background, one thing that confuses me about Objective C is the fact that you can add a method to a class without actually specifying it in the class interface. So I had a barrage of questions:</p>
  
  <ol>
  <li>Why would someone choose to not add the method in the class interface? </li>
  <li>Is it simply because of visibility? </li>
  <li>Methods without a declaration in the interface are private? </li>
  <li>Is declaring methods in a class interface just optional?</li>
  <li>Is it different for overriding a base class' method?</li>
  </ol>