(d) void test(int a) and int test(int a)
Explanation: Method overloading is based on method signatures (method name + parameter list). Return type differences (void vs. int) do not differentiate overloaded methods, leading to a compilation error.