- looks for exact signature
- Where no argument conversion required
- looks for "compatible" signature
- Looks for "compatible" signature where automatic type conversion is possible
- 1st with promotion (No loss of data)
- 2nd with demotion (Possible loss of data)
recommended just implement using double to avoid confusing