[javascript] 자바스크립트 객체의 개념

자바스크립트는 객체 지향 프로그래밍 언어로, 객체를 중심으로 동작합니다. 이번 포스트에서는 자바스크립트 객체의 개념에 대해 알아보겠습니다.

객체란 무엇인가요?

자바스크립트에서 객체는 여러 속성과 메서드를 가지는 값입니다. 속성은 객체의 상태를 나타내고, 메서드는 객체의 동작을 나타냅니다. 객체는 중괄호({})로 정의하며, 속성과 메서드는 콤마(,)로 구분합니다.

// 객체 생성
const person = {
  name: 'John',
  age: 28,
  sayHello: function() {
    console.log('Hello!');
  }
};

// 객체의 속성 참조
console.log(person.name); // 'John'
console.log(person.age); // 28

// 객체의 메서드 호출
person.sayHello(); // 'Hello!'

위 코드에서는 person이라는 객체를 생성하고, nameage라는 속성을 가지고 있습니다. 또한 sayHello라는 메서드를 정의했습니다. 객체의 속성은 객체명.속성명 형식으로 참조할 수 있고, 메서드는 객체명.메서드명() 형식으로 호출할 수 있습니다.

객체의 상속과 프로토타입

자바스크립트는 프로토타입 기반의 객체 지향 언어입니다. 이는 객체가 다른 객체의 프로토타입을 상속받을 수 있다는 의미입니다. 자바스크립트의 모든 객체는 프로토타입 체인을 통해 상위 객체의 속성과 메서드를 사용할 수 있습니다.

// 부모 객체
const parent = {
  sayHi: function() {
    console.log('Hi!');
  }
};

// 자식 객체
const child = Object.create(parent); // parent를 상속받음

// 상속받은 메서드 호출
child.sayHi(); // 'Hi!'

위 코드에서는 parent라는 객체를 정의하고, sayHi라는 메서드를 가지고 있습니다. 그리고 child라는 객체를 생성하고, Object.create() 메서드를 사용하여 parent를 상속받았습니다. 결과적으로 child 객체는 parentsayHi 메서드를 호출할 수 있습니다.

마무리

자바스크립트에서 객체는 매우 중요한 개념입니다. 객체를 사용하여 데이터와 동작을 관리하고, 프로토타입을 통해 상속을 구현할 수 있습니다. 이번 포스트에서는 자바스크립트 객체의 개념을 간단히 소개했으며, 좀 더 자세한 내용은 다음 자료를 참고하시기 바랍니다.