Difference Between UVM_OBJECT and UVM_COMPONENT

uvm_components are “static-like” in that they are created during build_phase() and persist throughout the simulation. Think of them as the class-based equivalent of modules.
uvm_objects are transient, such as transactions that are created when needed and disappear when not used anymore.