title: Why do you not need to [super alloc] in your subclass init method implementation?
body: <p>When we do <code>self = [super init];</code> in our subclass's init method implementation,</p>
  
  <p>I don't understand why it's not <code>self= [[super alloc] init];</code></p>
  
  <p>In the first case, how can you init something that you haven't allocate memory for?</p>
  
  <p>Is this because you're not actually initing a superclass object but instead using the superclass's init method to init yourself first?</p>
  
  <p>If so, where and when did we allocate memory for self? </p>
  
  <p>Is it just assumed that we did the alloc somewhere else in our program before calling this init method?</p>
  
  <p>Is the syntax basically saying <code>[subclass initUsingMySuperClassImplementationFirst]</code> ?</p>