Override (override):
Occurs between the subclass and the superclass: the number of methods with the
same method name , the same type, and the return value type is less than or equal to the return value type of the superclass
Overloading:
Occurs in a class: the number of methods with the
same method name , different types, and the return value types can be the same or different