#how do we know object type in runtime :? that could be if: the language support RTTI
##type introspection
figuring the metadata at runtime
https://en.wikipedia.org/wiki/Type_introspection
##C++ specific ###dynamic_cast way: Dynamic cast an object to a class, do we get a bad_cast exception, then it's not the right type