Функции обычно относятся к процедурному программированию. В ООП у вас есть методы, которые на самом деле являются функциями по своей природе, работают так же, как функции, но они всегда работают по отношению к некоторому объекту. Вы не можете объявить метод / функцию, не создав для нее класс, аналогично, вы всегда должны вызывать функции, используя их объект. Таким образом, подход к созданию функций и простому вызову их в OOP не работает одинаково. Вы должны связать их с классом здесь и обычно с конструктором для этого класса.
Позвольте мне показать вам это на примере.
Предположим, мы пишем код на C, который является процедурным языком, функция выглядит так:
int add(int a, int b){
return a+b;
}
Теперь для Java метод в ООП выглядит следующим образом,
class NumberAdder{
int num1;
int num2;
NumberAdder(int num1, int num2){
this.num1=num1;
this.num2=num2;
}
public int getSum(){
return num1+num2;
}
}