- 정적 타입: 코드 작성시 타입을 명시
- BOOL boolVar;
- int intVar;
- NSString *strVar;
- 동적 타입: 코드 작성시 타입을 명시하지 않음
- id 사용, 포인터 형이고 *을 사용하지 않음
id dyanmicTypeVar;
-(void)dynamicTypeMethod:(id)arg;
- 바인딩: 참조와 구현이 연결
- 포인터 변수가 객체와 연결
- 메소드 호출 코드와 메소드 구현부 연결
- 정적 바인딩: 컴파일 시간에 결정
- 동적 바인딩: 런타임(runtime)
- Objective-C -> 동적 바인딩 언어
- 포인터가 가르키는 객체의 클래스 알아내기
-(Class)superclass;
-(Class)class;
- 클래스에서 생성된 객체 알아내기
- (BOOL)isMemberOfClass:(Class)aClass;
- (BOOL)isKindOfClass:(Class)aClass;
- Rectangle 클래스 객체인지 알아내기
if([rect isMemberOfClass:[Rectangle class]) {
NSLog(@"Rectangle 클래스");
}
else {
NSLog(@"Rectangle 클래스 아님");
}
'IOS > Objective-C' 카테고리의 다른 글
[Objective-C] 셀렉터와 프로퍼티 (0) | 2023.03.10 |
---|---|
[Objective-C] 객체 생성 메소드 (0) | 2023.03.09 |
[Objective-C] Class 상속 (0) | 2023.03.09 |
[Objective-C] Class 만들어보기 (0) | 2023.02.28 |
[Objective-C] 기본 표기법 및 객체 지향 프로그래밍 (0) | 2023.02.27 |