Get_type_name

The following is the description for get_type_name in UVM reference guide.

This function returns the type name of the object, which is typically the type identifier enclosed in quotes. It is used for various debugging functions in the library, and it is used by the factory for creating objects.
This function must be defined in every derived class.

Please note the last sentence which mentions that it is necessary to define this in every defined class.
I have written drivers which does not define this and I don’t see any issue.
Can anyone comment why this is mandatory and how it works when I actually do not define it?

In reply to verif_learner:

It should have said: “must be defined if you want to use the class with the factory by name”. It gets defined for you using the macro `uvm_component_utils.