Method overloading allows us to define many methods with the same name but with a different set of parameters ( thus with the same name but different signature ).
Yes. Off the top of my head, if you call A.MyMethod(1);, it will always run the second method. You'd have to call A.MyMethod(1); to force it to run the first.