Javascript OOP - 객체 생성 방법 2

객체를 생성하는 또 다른 방법은 생성자(constructor)를 사용하는 것이다.

객체가 하나만 필요할 경우 객체 리터럴을 사용해서 생성하면 되지만
여러개의 객체 인스턴스가 필요한 경우라면 객체 생성자 함수(Object Constructor function)를 사용해야 한다.

객체 정의하기
function Rectangle() {
    this.width = 100;
    this.height = 200;
}

초기화 파라미터를 사용해서 인스턴스를 초기화할 수도 있다.
function Rectangle(w, h) {
    this.width = w;
    this.height = h;
}


메쏘드를 정의해서 객체에 삽입해 보자.
function enlarge() {
    this.width *= 2;
    this.height *= 2;
}

function Rectangle(w, h) {
    this.width = w;
    this.height = h;
    this.enlarge = enlarge;
    this.area = function () {
        return this.width * this.height;
    };
}

new 키워드를 사용해서 객체의 인스턴스를 생성해 보자.
var r = new Rectangle(100, 200);
r.enlarge();
r.area(); /* return 80000 */

여기서 new가 동작하는 방식은 자바의 new와는 다르다.
new는 먼저 빈 객체를 생성한다. 그리고 뒤 이어 나오는 객체의 생성자 함수를 호출해서 this가 생성된 인스턴스를 참조하게 한다.




댓글

이 블로그의 인기 게시물

미적분과 차원

자바 로깅

apache rewrite_module 로그