생성자 함수를 통한 정보 은닉과 자바스크립트 캡슐화의 활용 사례

자바스크립트에서 생성자 함수는 객체를 생성하고 초기화하는 데 사용됩니다. 이를 통해 정보 은닉과 캡슐화를 구현할 수 있으며, 코드의 가독성과 유지 보수성을 향상시킬 수 있습니다. 정보 은닉은 객체의 내부 데이터와 메서드를 외부에서 직접 접근할 수 없도록 하는 것을 의미하며, 캡슐화는 관련된 데이터와 메서드를 하나의 단위로 묶는 것을 의미합니다.

아래 예시를 통해 생성자 함수를 통한 정보 은닉과 자바스크립트 캡슐화가 어떻게 활용될 수 있는지 알아보겠습니다.

예시: 유저 객체 생성

function User(name, age) {
  let _name = name;  // private 변수
  let _age = age;  // private 변수

  // public 메서드
  this.getName = function() {
    return _name;
  };

  this.getAge = function() {
    return _age;
  };

  // private 메서드
  function validateAge(age) {
    if (age < 0) {
      throw new Error('나이는 음수일 수 없습니다!');
    }
  }

  // 생성자 함수 내에서 private 메서드 호출
  validateAge(_age);
}

const user = new User('John', 25);
console.log(user.getName());  // "John"
console.log(user.getAge());  // 25

위 예시에서 User 생성자 함수는 private 변수 _name_age를 가지며, 이들에 접근할 수 있는 public 메서드 getNamegetAge를 제공합니다. private 변수인 _name_age는 외부에서 직접 접근할 수 없으므로 정보 은닉이 구현됩니다. 또한, 생성자 함수 내에 있는 private 메서드 validateAge를 통해 나이가 음수인 경우 예외 처리가 이루어집니다.

정보 은닉과 캡슐화를 통해 유저 객체의 데이터를 보호하고 유지 보수성을 향상시킬 수 있습니다. 캡슐화를 사용하면 객체의 내부 구현을 변경하지 않고도 외부에서 사용할 수 있는 메서드를 조정할 수 있으며, 이는 코드 기반의 유연성을 제공합니다.

#JavaScript #생성자함수 #정보은닉 #캡슐화