생성자 함수를 통한 정보 은닉과 자바스크립트 캡슐화의 활용 사례
자바스크립트에서 생성자 함수는 객체를 생성하고 초기화하는 데 사용됩니다. 이를 통해 정보 은닉과 캡슐화를 구현할 수 있으며, 코드의 가독성과 유지 보수성을 향상시킬 수 있습니다. 정보 은닉은 객체의 내부 데이터와 메서드를 외부에서 직접 접근할 수 없도록 하는 것을 의미하며, 캡슐화는 관련된 데이터와 메서드를 하나의 단위로 묶는 것을 의미합니다.
아래 예시를 통해 생성자 함수를 통한 정보 은닉과 자바스크립트 캡슐화가 어떻게 활용될 수 있는지 알아보겠습니다.
예시: 유저 객체 생성
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 메서드 getName
과 getAge
를 제공합니다. private 변수인 _name
과 _age
는 외부에서 직접 접근할 수 없으므로 정보 은닉이 구현됩니다. 또한, 생성자 함수 내에 있는 private 메서드 validateAge
를 통해 나이가 음수인 경우 예외 처리가 이루어집니다.
정보 은닉과 캡슐화를 통해 유저 객체의 데이터를 보호하고 유지 보수성을 향상시킬 수 있습니다. 캡슐화를 사용하면 객체의 내부 구현을 변경하지 않고도 외부에서 사용할 수 있는 메서드를 조정할 수 있으며, 이는 코드 기반의 유연성을 제공합니다.
#JavaScript #생성자함수 #정보은닉 #캡슐화