A function object (or function-like object or functor) is an object for which an application operator, operator(), has been defined
A function object can be called - pretending that it is a function