Sobes.tech
Junior — Middle

Pode explicar o conceito de encapsulamento na programação orientada a objetos?

sobes.tech IA

Resposta da IA

O encapsulamento é um princípio da programação orientada a objetos que consiste em combinar dados (propriedades) e métodos que trabalham com esses dados dentro de um mesmo objeto ou classe. Permite esconder o estado interno do objeto e fornecer acesso a ele apenas através de métodos específicos (getters e setters), o que protege os dados de alterações diretas externas.

Por exemplo, em JavaScript, pode-se criar uma propriedade privada usando um símbolo ou seguir uma convenção com sublinhado:

class User {
  #password; // campo privado

  constructor(name, password) {
    this.name = name;
    this.#password = password;
  }

  checkPassword(input) {
    return input === this.#password;
  }
}

const user = new User('Alice', '12345');
console.log(user.name); // Alice
console.log(user.#password); // Erro, acesso negado
console.log(user.checkPassword('12345')); // true

Assim, o encapsulamento ajuda a controlar o acesso aos dados, aumenta a segurança e simplifica a manutenção do código.