Eu creio que colocar um método “setter”, dessa forma é uma violação (um tanto grave) do encapsulamento.
Aliás, o princípio de se usar um método acessor, e não o atributo diretamente, é justamente a possibilidade de fazer verificações nesse método, não somente garantir o encapsulamento do tipo da representação interna do dado.
Me parece bastante inseguro (e imprudente) ter um método de set que “engula” um novo saldo.
Quanto mais um setter que não verifica detalhes como se o novo saldo é possível ou quem fez esse tipo de operação.
Além disso, uma operação como essa não poderia ser feita sem uma justificativa forte, talvez passando também algum tipo de ordem de serviço, com autorização de alguém com grande poder na empresa.
Em resumo… no caso de um trabalho, é melhor ficar só que foi proposto, um método de “deposito” e outro de “saque” mesmo.