본문 바로가기

IT노트(구)/JavaScript

자바스크립트에서 private 구현하기(클로저 이용)

자바스크립트에서도 private을 구현할 수 있습니다.

핵심만 간단하게 말하자면 클로저를 사용하면 됩니다!(클로저는 대단히 어려운 개념이지만 자주 반복해서 예제를 보면 자연스럽게 이해가 되는 것 같습니다.)

예제는 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script>
var Person = function() {  
    var name = "James"// private 변수
    return {
        getName : function() {
            return name;
        } // 이 익명 함수는 name에 계속 접근할 수 있음(클로저)
    };  
}
 
var p = Person();
 
var a = p.getName(); // getter를 통해 접근
alert(a); // James가 정상적으로 출력됨
 
var b = p.name// 다이렉트 접근
alert(b); // undefined 출력(다이렉트 접근이 불가능)
</script>
cs