객체는 사용자(user)와 주문(order) 등과 같이 실제로 존재하는 개체를 표현하고자 할 때, 생성한다.

let user = {
  name: "John",
  age: 30
};

사용자는 현실에서 장바구니에서 물건 선택하기, 로그인하기, 로그아웃하기 등의 행동을 한다.

이와 마찬가지로, 사용자를 나타내는 객체 user 도 특정한 행동을 할 수 있다.

자바스크립트에선 객체에 대하여 함수를 할당해 객체에게 행동할 수 있는 능력을 부여해준다.


메서드 만들기

객체 user에게 인사할 수 있는 기능을 추가해보자.

let user = {
  name: "John",
  age: 30
};

user.sayHi = function() {
  alert("안녕하세요!");
};

user.sayHi(); // 안녕하세요!

함수표현식으로 함수를 만들고, user.sayHi( ) 에 함수를 할당해줬다.

객체에서 할당된 함수를 호출하면, user 가 인사를 해준다.

이렇게 객체 프로퍼티에 부여된 함수를 '메서드' 라고 한다.

위 예시에서는, user 에 할당된 sayHi 가 메서드인 것이다.

let user = {
  // ...
};

// 함수 선언
function sayHi() {
  alert("안녕하세요!");
};

// 선언된 함수를 메서드로 등록
user.sayHi = sayHi;

user.sayHi(); // 안녕하세요!

객체 지향 프로그래밍

객체를 사용하여, 개체를 표현하는 방식을 "객체 지향 프로그래밍(OPP)"라고 부른다.