Sobes.tech
Junior — Middle

Quais são as vantagens e desvantagens de usar objetos imutáveis na programação?

sobes.tech IA

Resposta da IA

Vantagens de objetos imutáveis:

  • Segurança em multithreading: objetos imutáveis não mudam após serem criados, eliminando problemas de acesso concorrente.
  • Facilidade de compreensão e depuração: o estado do objeto não muda, facilitando o rastreamento da lógica.
  • Uso como chaves em coleções: objetos imutáveis podem ser usados em HashMap ou HashSet sem risco de alteração do hash.
  • Previsibilidade: ausência de efeitos colaterais ao trabalhar com objetos.

Desvantagens:

  • Desempenho: ao precisar modificar um objeto, uma nova instância é criada, o que pode acarretar custos adicionais de memória e tempo.
  • Complexidade em estruturas grandes: modificar dados aninhados requer criar cópias de todos os níveis.

Exemplo de uma classe imutável em Java:

public final class Person {
    private final String name;
    private final int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

Esta classe não pode ser modificada após sua criação, garantindo segurança e previsibilidade de comportamento.

Quais são as vantagens e desvantagens de usar objetos… - sobes.tech