자바스크립트의 심장이자 모든 데이터를 담는 그릇인 **객체(Object)**에 대해 알아보겠습니다.
자바스크립트에서 객체는 실생활의 사물을 프로그래밍 언어로 표현한 것과 같습니다.
📘 1. 자바스크립트 객체의 개념
**객체(Object)**는 연관된 데이터(상태)와 기능(동작)을 하나로 묶어 관리하는 데이터 구조입니다.
- 비유: '자동차'라는 객체가 있다면, 자동차의 색상이나 모델명은 데이터가 되고, 주행하거나 멈추는 기능은 동작이 됩니다.
- 구조: 중괄호 { }를 사용하여 표현하며, 키(Key): 값(Value)의 쌍으로 이루어져 있습니다.
📘 2. 프로퍼티(Property)와 메서드(Method)
객체 내부를 구성하는 두 가지 핵심 요소입니다.
- 프로퍼티(Property): 객체의 상태를 나타내는 값입니다. (변수와 유사)
- 메서드(Method): 객체가 수행할 수 있는 동작을 나타냅니다. 객체 안에 정의된 함수를 의미합니다.
JavaScript
const smartphone = {
brand: "Apple", // 프로퍼티 (상태)
color: "Silver", // 프로퍼티 (상태)
call: function() { // 메서드 (동작)
console.log("전화 거는 중...");
}
};
📘 3. 자바스크립트 객체의 종류
자바스크립트의 객체는 크게 세 가지 범주로 나뉩니다.
- 내장 객체 (Built-in Objects): 자바스크립트 언어에 기본적으로 포함된 객체입니다.
- 예: Math, Date, Array, JSON 등
- 브라우저 객체 모델 (BOM, Browser Object Model): 브라우저와 관련된 정보를 다룹니다.
- 예: window, location, history 등
- 문서 객체 모델 (DOM, Document Object Model): HTML 문서 구조를 조작합니다.
- 예: document 등
- 사용자 정의 객체: 개발자가 필요에 따라 직접 정의하여 만드는 객체입니다.
📘 4. 객체와 인스턴스 (Object vs Instance)
학생들이 가장 헷갈려 하는 개념 중 하나인 객체와 인스턴스의 관계를 정리해 드릴게요.
- 객체(Object): 프로그래밍에서 데이터를 표현하는 가장 넓은 의미의 개념입니다.
- 인스턴스(Instance): 설계도(Class 또는 생성자 함수)를 바탕으로 실제로 메모리에 생성된 실체를 의미합니다.
비유하자면?
- 설계도: 자동차 공장의 도면 (Class)
- 인스턴스: 도로 위를 달리고 있는 실제 자동차들 (Instances)
JavaScript
// 생성자 함수(설계도) 정의
function Person(name) {
this.name = name;
}
// 설계도를 통해 인스턴스 생성
const person1 = new Person("Kim"); // person1은 Person의 인스턴스입니다.
const person2 = new Person("Lee"); // person2는 Person의 또 다른 인스턴스입니다.
오늘의 요약
- 객체는 데이터(프로퍼티)와 기능(메서드)의 집합체이다.
- 자바스크립트에는 이미 만들어진 내장 객체와 우리가 직접 만드는 사용자 객체가 있다.
- 설계도를 통해 실제로 구체화된 객체를 인스턴스라고 부른다.
자바스크립트의 뼈대인 객체의 개념을 완벽히 정리하셨습니다!

'JavaScript' 카테고리의 다른 글
| var let const (0) | 2026.02.14 |
|---|---|
| Variables scope and hoisting (0) | 2026.02.14 |
| Built in object (0) | 2026.02.14 |
| BOM (0) | 2026.02.14 |
| DOM (0) | 2026.02.14 |