title: Class variable defined at @implementation rather than @interface?
body: <p>I'm new to Objective-C, but I am curious about something that I haven't really seen addressed anywhere else.</p>
  
  <p>Could anyone tell me what is the difference between a private variable that is declared at the <code>@interface</code> block versus a variable that is declared within the <code>@implementation</code> block outside of the class methods, i.e:</p>
  
  <pre><code>@interface Someclass : NSObject {
  
   NSString *forExample;
  
  }
  
  @end
  </code></pre>
  
  <p>vs.</p>
  
  <pre><code>@implementation Someclass
  
   NSString *anotherExample;
  
  -(void)methodsAndSuch {}
  
  @end
  </code></pre>
  
  <p>It seems both variables ( <code>forExample</code>, <code>anotherExample</code> ) are equally accessible throughout the class and I can't really find a difference in their behaviour.  Is the second form also called an instance variable?</p>