Answers for the function overloading interview questions:

Question 1 answer: It's straight forward question. It prints "Object" to the console. In function overloading binding happens at compile time and hence the method which takes the object as parameter is invoked.

Question 2 answer: It's another simple one. It prints "Interview Question" to the console. In function overloading binding happens at compile time and hence the method which takes the string as parameter is invoked.

Question 3 answer: It prints "string" to the console and not "function overloading". At compile time obj is of type object and not string type.

Question 4 answer: It's needs thinking. Both object type and string type variable can be null. When null is passed as parameter value, the more specific type, in this case string parameter method is bounded at the time of compilation. Hence it prints "String is null" to the console.