Yes, if you call obj.getLastestAddition() you'd call the version in TigerSanctuary.
But that's just normal overriding/polymorphism. The real difference with a covariant return is when you don't use the superclass reference type. If we override getLatestAddition() with the same return type (Animal) then we'd do this:
Whereas with the covariant return, we can do this: