Javascript OOP - 객체 생성 방법 2
객체를 생성하는 또 다른 방법은 생성자(constructor)를 사용하는 것이다.
객체가 하나만 필요할 경우 객체 리터럴을 사용해서 생성하면 되지만
여러개의 객체 인스턴스가 필요한 경우라면 객체 생성자 함수(Object Constructor function)를 사용해야 한다.
객체 정의하기
초기화 파라미터를 사용해서 인스턴스를 초기화할 수도 있다.
메쏘드를 정의해서 객체에 삽입해 보자.
new 키워드를 사용해서 객체의 인스턴스를 생성해 보자.
new는 먼저 빈 객체를 생성한다. 그리고 뒤 이어 나오는 객체의 생성자 함수를 호출해서 this가 생성된 인스턴스를 참조하게 한다.
객체가 하나만 필요할 경우 객체 리터럴을 사용해서 생성하면 되지만
여러개의 객체 인스턴스가 필요한 경우라면 객체 생성자 함수(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 키워드를 사용해서 객체의 인스턴스를 생성해 보자.
여기서 new가 동작하는 방식은 자바의 new와는 다르다.var r = new Rectangle(100, 200);r.enlarge();r.area(); /* return 80000 */
new는 먼저 빈 객체를 생성한다. 그리고 뒤 이어 나오는 객체의 생성자 함수를 호출해서 this가 생성된 인스턴스를 참조하게 한다.
댓글
댓글 쓰기