O intuito de um método qualquer é, tão somente, executar uma função que é inerente ao objeto em questão (vamos ignorar métodos de classes).
Por exemplo, considere a classe que representa os objetos caneta
public class Caneta {
private String cor;
private float tinta;
public Caneta(String cor, float tinta) {
this.cor = cor;
this.tinta = tinta;
}
public void escrever(int linhas) {
for(int i = 0; i < linhas && tinta > 0; i++){
this.setTinta(tinta-= 0.01F);
}
}
public float getTinta() {
return this.tinta;
}
}
Perceba que temos dois atributos, cor e tinta. Toda caneta, independente do tipo, tem estes atributos. Além disso, toda caneta pode escrever e, ao escrever, tem o seu volume de tinta diminuído, certo?
Se quiser saber a quantidade de tinta, a qualquer momento, basta “olhar”, através do método “getTinta”, que me devolve quanto de tinta possuo.
Assim sendo, posso criar um objeto de Caneta
Caneta bic = new Caneta("azul", "1.0"); //Caneta azul com 1 de tinta
Se eu chamar o método getTinta, logo após a criação do objeto, terei o retorno
1.0
Assim que eu invoco o método escrever e passo 50 linhas
bic.escrever(50);
E, em seguida chamo o método getTinta, tenho:
0.5
Ou seja, consumi metade do total de tinta que a caneta possuía.
Portanto, cada atributo é uma qualidade que identifica o objeto ou a classe.
Cada método é uma operação que o objeto ou classe podem executar.