Regular class methods are dynamic because they are called as messages
passed to objects:
object->dynamic_method(...)
Static methods are those that are not called on objects.
Instead, they are called like non-OOP C++ functions:
static_method(...)
Static methods must be declared static in their class definitions, as
in:
static string intToString(int i);
Since static methods are not called on objects, they often serve the purpose
of being utility methods.
The declaration of intToString
appears in the declaration of a class called Utils.
When a static method is called, since an object is not involved, the identity
of the method must be specified with its class name and the scope resolution
operator ::, as in: