Ответ
Сигнатура метода — это уникальный идентификатор метода внутри класса, используемый компилятором для разрешения перегрузки (overloading). Она состоит из:
- Имя метода
- Количество, типы и порядок параметров
Важно: Возвращаемый тип, модификаторы доступа (public, private) и объявления исключений (throws) НЕ входят в сигнатуру.
Пример перегрузки методов с разными сигнатурами:
public class Calculator {
// Сигнатура: add(int, int)
public int add(int a, int b) {
return a + b;
}
// Сигнатура: add(double, double) — ДРУГАЯ сигнатура
public double add(double a, double b) {
return a + b;
}
// Сигнатура: add(int, int, int) — ДРУГАЯ сигнатура
public int add(int a, int b, int c) {
return a + b + c;
}
}
Изменение только возвращаемого типа при одинаковых параметрах приведет к ошибке компиляции, так как сигнатура останется прежней.