You’re correct but I would like to comment on one thing you said. It is not meant “to treat an object as if it were something different”, when you have a child class of a class, for example the class “Car” inherits from the class “Vehicle”, then the class “Car” IS a “Vehicle”. Therefor you are able to cast it, because it is already the same class. It is a subset of a veichle.
It is good practise to always consider the child classes with an “IS/ARE” relationship, such as “the Car IS a Vehicle”.