
Objc-C에서는 프로퍼티 및 클래스 초기화를 간소화하고 다양한 초기화 방법을 제공함.
Objc-C 초기화를 하는 방법은 두 가지가 있음.
지정(Initializer) 메서드와 편의(Convenience) 생성자임.
// 전체 초기화
- (id)init
{
self = [super init];
if (self) {
age = 0;
name = @"이름없음";
}
return self;
}
// Age 만 초기화
- (id)initWithAge:(int)ageValue{
self = [super init];
if (self) {
age = ageValue;
name = @"이름없음";
}
return self;
}
// Name 초기화
- (id)initWithName:(NSString *)nameValue{
self = [super init];
if (self) {
age = 0;
name = nameValue;
}
return self;
}
// Age, Name 초기화
- (id)initWithNameAndAge:(NSString *)nameValue age:(int)ageValue{
self = [super init];
if (self) {
age = ageValue;
name = nameValue;
}
return self;
}
Cat * myCat1 = [[Cat alloc] init];
Cat * myCat2 = [[Cat alloc] initWithAge:2];
Cat * myCat3 = [[Cat alloc] initWithName:@"개냥이"];
Cat * myCat4 = [[Cat alloc] initWithNameAndAge:@"야옹이" age:3];