object is : member data + function operating on the data
so, primitive data type is just data, no method directly related to it.
object is something like a module, include the data and function (method here).
NSInteger is primitive data type.
NSNumber is object, it's member data maybe NSInteger.