Objective-C 2.0에서 새로이 추가된 기능으로 익명의 카테고리와 같은 역활을 한다. 기존의 카테고리가 컴파일시의 체크(Validation)기능이 없었던 것에 비해 컴파일 시에도 완전한 메인 클래스로써 체크가 가능하다. 카테고리와의 차이점은 아래와 같다.
카테고리명을 기술하지 않고 공란으로 남겨둔다.
확장에서 선언된 메소드는 메인 클래스의 구현파일(@implementation 과 @end 의 사이)에 정의되어야 한다.
확장이 적용된 소스의 예는 아래와 같다.
@interface Card ( )
- (int) methodP;
@end
@implementation Card
- (int)methodP{
…
}
…
@end