Função ou Método em Java? Entenda as diferenças !
- #Java
Função ou Método? essa é grande questão. Quem tem costume de trabalhar com linguagem estruturada, ou aplica uma programação funcional irá chamar tudo de função, por usar diversas vezes acaba - se adquirindo esse vicio de linguagem. Pessoas que trabalham com linguagens orientadas a objetos chamam de métodos. O que realmente impacta? Qual a diferença?
Irei nas próximas linhas explanar as diferenças, vem comigo e acompanha o raciocínio.
Mas... o que é função ? Saindo do micro para o macro perguntamos a uma pessoa qual sua função no trabalho? Você está perguntando a ela o que ela faz. Vamos voltar para o micro, o que é função na programação?
Função na programação é um bloco de código que realiza uma tarefa (ação), com ela você poderá organizar e reutilizar o código.
Você já deve está se perguntando e método? o que é? qual a diferença?
Método na programação é uma função que está associada a uma classe, um objeto específico. Em linguagens orientadas a objetos como Java , C# usamos métodos pois criamos funções dentro das classes e encapsulam a lógica do objeto ao qual pertence. Protegendo o código de nós mesmo programadores, na hora da manutenção ou implementação de uma feature. Irei escrever um pouco sobre orientação a objeto e explicar melhor essa situação com exemplo.
Objetos, eles possuem atributos e comportamentos. Esses são gerados através de métodos. Exemplo: Irei criar uma classe TV.
public class Tv {
// atributos
private String marca;
private int tamanho;
private int volume;
// Métodos
public void ligar(){
System.out.println("A tv está ligada")
}
public void desligar(){
System.out.println("A tv está desligada")
}
}
e na main após instanciar o objeto no caso a tv, você poderá chamar os métodos, que estão predefinidos na classe. Exemplo:
public static void main(String[] args) {
// Criando um objeto Tv
Tv myTv = new Tv();
//Definindo os valores dos atributos:
myTv.marca = "The best of the Tv";
myTv.tamanho = "50";
//Chamando o método para interagir com o objeto no caso a tv.
myTv.ligar();
myTv.desligar();
}
}
Mas então, não existe diferença???
Sim, claro que existe! Apesar de serem a mesma coisa o método ele se encontra dentro de uma classe ele estará vinculado a um objeto. Função é um bloco de código independente.
Espero que este artigo tenha esclarecido suas dúvidas sobre as diferenças entre função e método na programação. Boas práticas de programação são essenciais para garantir a manutenção e escalabilidade do seu código.
Guilherme Araújo