Olá. Minha dúvida é sobre o encapsulamento. Nas regras de negócio do projeto do curso está definido que uma negociação é imutável, ou seja, utilizará apenas getters. O Object.freeze() me pareceu congelar o objeto como um todo, e não de forma inteligente apenas nas "propriedades privadas". Contudo em um outro projeto qualquer, no qual é permitido alterar utilizando setters mas também evitando ser acessado externamente, posso utilizar o Object.freeze()? Há outra forma de fazê-lo? Ou terei que correr o risco de ser modificado?