객체는 사용자(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)"라고 부른다.