tens aqui 3 métodos, 2 que alteram o estado interno, e o outro que não (apenas retorna o resultado)
não me faz diferença qual das duas opções usas, mas convem que seja consistente