인스턴스 프로퍼티와 메서드

자바스크립트는 객체지향 언어이고, 같은 클래스(생성자 함수)의 객체가 여러 개 있을 수 있으며, 각 객체는 해당 클래스의 인스턴스에 해당한다.

인스턴스 프로퍼티

모든 객체는 인스턴스 프로퍼티의 사본을 자체적으로 가지고 있다. 다음 예제를 보자.

function Point(x,y){
    this.x = x;
    this.y = y;
}

point1 = new Point(5,5);
point2 = new Point(8,8);

console.log(point1.x);  // 5
console.log(point2.y);  // 8

인스턴스 프로퍼티에는 개별 객체(이를테면 point1.x)를 통해 접근한다.

인스턴스 메서드

인스턴스 메서드는 특정 인스턴스나 객체를 대상으로 호출된다. 인스턴스 메서드를 구현할 때는 this 키워드를 이용해 메서드를 호출할 인스턴스나 객체를 참조한다. 다음 예제를 보자.

function Point(x,y){
    this.x = x;
    this.y = y;
}

// 객체를 먼저 생성
point1 = new Point(5,5);
point2 = new Point(8,8);

// 프로토타입에 메서드를 추가
Point.prototype.add = function(){
    return this.x + this.y;
}   

console.log(point1.add());  // 10
console.log(point2.add());  // 16

인스턴스 메서드는 클래스의 모든 인스턴스가 공유한다.

관련 수업

← 이전다음 →