One of the features of the modern (64 bit OS X and iPhone OS) Objective C runtime is the ability for properties to dynamically synthesize ivars without explicitly declaring
What you are looking for is @synthesized name, like:
@synthesize name = _name; ... - (NSString *) name { if (!name) { _name = @"Louis"; } return _name; }