Что такое функция (function) в программировании?

«Что такое функция (function) в программировании?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Функция — это именованный, многократно используемый блок кода, который выполняет определенную задачу, может принимать входные данные (аргументы) и возвращать результат.

Ключевые цели:

  • Повторное использование кода (DRY).
  • Структурирование и модульность программы.
  • Упрощение тестирования и отладки.
  • Сокрытие деталей реализации (абстракция).

Основные компоненты функции:

  1. Сигнатура: имя, параметры, тип возвращаемого значения.
  2. Тело: логика выполнения.
  3. Возвращаемое значение (кроме void-функций).

Пример функции на Java:

// Сигнатура: имя - calculateArea, параметры - double radius, возвращает double
public static double calculateArea(double radius) {
    // Тело функции
    if (radius < 0) {
        throw new IllegalArgumentException("Радиус не может быть отрицательным");
    }
    return Math.PI * radius * radius; // Возврат значения
}

// Вызов функции
double circleArea = calculateArea(5.0); // circleArea ≈ 78.54

Отличия от метода: Метод — это функция, которая принадлежит классу или объекту в ООП. Вне контекста классов термин "функция" используется как общее понятие.