In object-oriented languages, function object (also known as functor) is a feature that allows objects to be used like if they were ordinary functions.