Si las variables son públicas no tiene mucho sentido usar los métodos get y set, ya que igualmente voy a poder tener libre acceso a la variable.
Por ejemplo, ¿Para qué quiero un getNombre() y un setNombre() si igualmente tengo permitido acceder a objeto.nombre ?
La idea es que las variables de un objeto sean siempre privadas y su acceso desde otras secciones del código sólo pueda darse a través de los getters y setters (u otros métodos), respetando así el principio de encapsulamiento en POO.
Para hacer nuestra variable privada, simplemente necesitamos agregar un # (hash) como prefijo de su nombre. Por ejemplo: #nombre, #apellido, etc.
También aplica lo mismo para los métodos privados, por ejemplo: #hablar() {}, #tomarCurso() {}, etc.
Para más información: https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Classes/Private_class_fields