Use of operator for more than one purpose is known as operator overloading.
A narrowing conversion is one that converts an object to a type that cannot contain all the values of the original type.