비공개 멤버

비공개 멤버와 메서드

자바스크립트에서 비공개 멤버는 생성자로 만드는데, var 키워드를 이용해 정의한 변수와 생성자의 매개변수는 비공개 멤버가 된다.

비공개 멤버는 생성자 함수 밖에서 접근할 수 없으며, 오직 생성자 함수 안에서만 접근할 수 있다. 이를 데이터 캡슐화(data encapsulation)라 한다.

예제는 다음과 같다.

function Circle(r){
    // 비공개 프로퍼티
    var radius = r;

    // 비공개 메서드
    var getArea = function(){
        return Circle.PI * radius * radius;
    }

    // 공개 메서드
    this.area = function(){return getArea()}
}

// 클래스 프로퍼티를 정의
Circle.PI = 3.14159265;

c1 = new Circle(10);

console.log(c1.area()); // 314.159265

관련 수업

← 이전다음 →