Hola Rabih, te indico por qué se deben incluir los métodos getters y setters:
El primer motivo: el enunciado del ejercicio no los pide.
El enunciado es:
Define una clase Bombero considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.
El incluir los métodos getters y setters es correcto, pero no sólo porque lo pida el ejercicio, sino porque es así como se programa normalmente en java.
No es correcto decir que "ya estamos usando un contructor con parametros y esta haciendo el trabajo de los Setters".
Cada cosa tiene un fin distinto:
El constructor -- > sirve para darle unos valores iniciales a los atributos del objeto. Por ejemplo puedes crear un objeto Taxi donde el número de pasajeros inicial sea 3 establecido a través del constructor.
Los métodos setters -- > sirven para establecer un valor de atributos en cualquier momento. Imagina que del taxi se baja una persona. Entoces usaríamos el método setter para establecer que el número de pasajeros ahora es 2.
Por tanto normalmente se incluyen constructores, getters y setters, tener un constructor con parámetros no reemplaza a los getters ni a los setters. Ten en cuenta que si no tuvieras setters un objeto no podría cambiar, siempre quedaría tal y como fue creado inicialmente.
Saludos!