"Runtime is everything between your each function call."
id obj;
// Method
if ([obj respondsToSelector:@selector(functionName:)]) {
}
// Class
if ([obj isKindOfClass:[NSArray class]] ) {
}
// Protoco
if ([obj conformsToProtocol:@protocol(ProtocolName)]) {
}
// sub Class
if ([[obj class] isSubclassOfClass:[NSArray class]]) {
}