less than 1 minute read

자바스크립트는 ‘객체 지향 프로그래밍 언어’ 이다.

const calculator = {
  number: 5,
  add(num) {
    return num + this.number;
  },
  del(num) {
    return num - this.number;
  },
  mutiple(num) {
    return num * this.number;
  },
  div(num) {
    return num / this.number;
  };
};

console.log(calculator.add(3)); // 8
console.log(calculator.div(5)); // 1

위 예제 처럼 객체로 프로그램을 표현하려는 프로그래밍 패러다임이 그것인데,

이때 객체의 상태 데이터를 프로퍼티(Property)라고 하며,

동작을 메서드(Method)라고 한다.

위 예제에서는 number가 상태 데이터인 프로퍼티이고,

더하기, 빼기 등을 수행하는 것은 동작인 메서드이다.

메서드는 자신이 속한 객체의 프로퍼티(데이터)를 참조하고 변경할 수 있어야 하는데,

this는 ‘자신이 속한 객체’ 또는 ‘자신이 생성할 인스턴스를 가리키는’ 자기 참조 변수 이다.

때문에, 위의 예제처럼 calculator.number가 아닌,

this.number로 프로퍼티를 참조할 수 있다.

Updated: