title: Why do some objects not need to be initialized before use in objective-c?
body: <p>Why do some objects not need to be initialized before use in objective-c?
  For example why is this <code>NSDate *today = [NSDate date];</code> legal?</p>