title: What is the class name for in this variable declaration?
body: <p>The Objective-C tutorial I'm following has has created a class called <code>Square</code> and a new instance of <code>Square</code>, the assigned it to a variable named <code>square</code> like so: </p>
  
  <pre><code>Square *square = [[Square alloc] init]; 
  </code></pre>
  
  <p>Now to my understanding this is what's happening. </p>
  
  <p>This is creating an instance of the class <code>Square</code> and returning it; the returned instance is then being initialised, and set to the variable <code>square</code>: </p>
  
  <pre><code>*square = [[Square alloc] init]; 
  </code></pre>
  
  <p>I can't figure out why the first "<code>Square</code>" is needed in this or what it is doing.</p>