Repare que no seu código você esta reaproveitando o método "Saque" para realizar uma transferência.
Em uma aplicação real você teria que salvar não apenas o saldo do seu cliente, como também guardar um registro da movimentação que ele esta realizando.
Então supondo que um usuário realize uma transferência, então no registro de movimentação iria ser gravado a informação que aconteceu uma operação de "Saque". Pois para realizar a função de transferência é chamado o método que realiza o saque.
Outro motivo para não reaproveitar funções de Saque e Deposito, é que uma transferência aplica um conceito chamado de Transação. Em que você tem que aplicar mecanismo para garantir que o dinheiro que foi subtraído em um conta seja acrescentado na conta de destino desta transferência.