Objective-C : 카테고리

준우·2024년 6월 18일

Objective-C 이야기

목록 보기
11/19
post-thumbnail

카테고리

Objc-C 에서 카테고리는 기존 클래스에 메서드를 추가할 수 있게 해주는 기능임. - → Swift의 extension 과 비슷함.

카테고리를 사용하면 원본 클래스의 소스 코드를 수정하지 않고도 해당 클래스에새로운 메서드를 추가할 수 있게 해줌.

카테고리는 헤더 파일과 구현 파일 두 부분으로 나뉨.

헤더 파일(.h)

카테고리의 헤더 파일은 원래 클래스와 카테고리의 이름을 포함한 인터페이스 선언을 정의함.

#import "기존 클래스.h"

@interface 기존 클래스명 (카테고리명)

- (반환 값 타입) 함수명;

구현 파일(.m)

구현 파일은 헤더 파일에서 선언한 메서드의 실제 구현을 포함함.

#import "기존 클래스명+추가할 카테고리명.h"

@implementation 기존 클래스명 (추가할 카테고리명)

- (반환 값 타입) 함수명 {
		// To Do Task...
}

@end

주의사항⚠️

  • 인스턴스 변수 추가 불가능 : 카테고리는 새로운 인스턴스 변수를 추가할 수 없음.
  • 메서드 이름 충돌 발생 가능 : Objc-C 에서는 마지막으로 로드된 메서드가 우선순위를 갖음.
  • Private 메서드 접근 : 카테고리를 사용하여 클래스의 Private 메서드를 호출할 수 있음.(권장하지 않으며, 보안상 위험할 수 있기 때문에 사용시, 주의를 요구함.)

0개의 댓글