[javascript] 클로저를 사용한 캡슐화
자바스크립트에서 클로저를 사용하여 데이터를 캡슐화할 수 있습니다. 클로저를 사용하면 외부에서 접근할 수 없도록 보호되는 데이터와 함수를 만들 수 있습니다.
클로저란 무엇인가?
클로저는 내부 함수가 자신이 선언됐을 때의 환경을 기억하는 함수를 가리킵니다. 이를 통해 내부 함수에서 외부 변수를 사용하거나, 외부에서 해당 함수의 환경을 조작할 수 있습니다.
클로저를 사용한 캡슐화 예제
아래는 클로저를 사용하여 변수를 캡슐화하는 간단한 예제입니다.
function createCounter() {
let count = 0;
function increment() {
count++;
}
function decrement() {
count--;
}
function getCount() {
return count;
}
return {
increment,
decrement,
getCount
};
}
const counter = createCounter();
counter.increment();
counter.increment();
console.log(counter.getCount()); // 출력: 2
위 예제에서 count
변수는 createCounter
함수 내부에서만 접근할 수 있습니다. increment
, decrement
, getCount
함수를 통해 count
변수에 접근하고 조작할 수 있으므로, 외부에서 직접 count
에 접근할 필요가 없습니다.
클로저를 사용한 캡슐화의 장점
클로저를 사용한 캡슐화의 장점은 외부에서 보호되는 데이터에 안전하게 접근할 수 있다는 것입니다. 이를 통해 코드의 안정성을 유지할 수 있고, 의도치 않은 데이터 변경을 방지할 수 있습니다.
마치며
클로저를 사용하여 캡슐화를 구현하는 것은 데이터 보호와 코드의 안정성을 유지하는 데 도움이 되는 강력한 도구입니다. 적절히 활용하여 안전하고 유지보수 가능한 코드를 작성할 수 있습니다.