Função ou método?
29/09/2024
Mas qual a diferença?
A: É, existe uma diferença.
B: Mas eu escrevo tudo com func ou fun ou function, então é tudo função, certo?
A: Sim, e não.
Sim, são todas funções, porém funções associadas a um objeto ou classe são chamadas de métodos, eles geralmente processam valores internos daquele objeto ou classe dado que estas funções não poderão ser utilizadas fora daquele objeto, o que chamamos de encapsulamento (um dos pilares da POO)
Exemplo:
class Person {
String firstName;
String lastName;
// Este é um método, ele está associado ao objeto Person
String getFullName(){
return this.firstName + " " + this.lastName;
}
}
class Main {
public static void main(String...args){
// Criando um objeto
var person = new Person();
// Chamando o método do objeto;
var fullName = person.getFullName();
// Chamando uma função
var splittedString = Main.splitString(fullName);
}
// Esta é uma função, ela não está associada a nada
// portanto pode ser executada com qualquer valor
static String[] splitString(String source){
return source.split(" ");
}
}