I am learning about Object Reflection in Java and read the following advantage it offers (From Cracking the Coding Interview, Laakmann McDowell):
We can call methods by name, when we don't know the method in advance. For example, we may let the user pass in a class name, parameters for the constructor, and a method name. We can then use this information to create an object and call a method. Doing these operations without reflection would require a complex series of if-statements, if it's possible at all
I have trouble understanding this point: If we know the method name, can't we just call it anyway?