title: Objective-C: do you use @private visibility/access modifier in your code?
body: <p>There are 3 modifiers: @private, @protected (default) and @public. Being accustomed to do so in C++ and other more sane languages, I always use @private for my fields. I barely (if ever)see that in SDK examples from Apple - they just rely on the default one. </p>
  
  <p>One day I realized that Objective-C inheritance is rather fake feature: deriving an interface from another one doesn't mean all private fields are now available for redefinition. The compiler still sees them and disallows defining a new private field with the the same name, which goes orthogonal with classic encapsulation paradigm in OOD.</p>
  
  <p>So I am a bit frustrated. Maybe I am expecting too much from the language because it's nothing more than a build up over standard C.</p>
  
  <p>So do you use @private in your code? Why?</p>