객체란 무엇인가?

LikeChoonsik's·2022년 3월 22일
0

JavaScript

목록 보기
10/15
post-thumbnail

객체란?

하나의 변수에 여러 속성을 저장할 수 있도록 해주는 자바스크립트의 참조형 데이터 타입 중 하나이다.
자바스크립트는 객체 기반의 프로그래밍 언어이며, 원시 값을 제외한 나머지 값(함수,배열,정규 표현식 등)은 모두 객체이다.

객체의 구성

객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다.

var myPet ={
name:'춘식',      //프로퍼티(name은 키, '춘식'은 값)
age:1,            //프로퍼티(age는 키, 1은 값)
scadule:{
	morning:'아침잠',
	evening:'저녁잠'
},
'choonsik hobby' : '식빵굽기', //식별자 네이밍 규칙을 준수하지 않는 프로퍼티 키는 ''로 사용해야한다.
secondName : ['츈츈','식식'] //식별자 네이밍 규칙을 준수하지 않는 프로퍼티 키는 ''를 생략 할 수 있다.
}

name이라는 속성에 '춘식'이라는 값이 할당된 객체를 myPet이라는 이름의 변수에 저장해주고, 춘식이라는 사람에 대한 각종 정보를 속성의 이름과 값으로 같은 배열 안에 함께 저장해줌으로써 배열과는 다른 방식으로, Index number에 구애받지 않고 자료를 처리할 수 있다는 점이 배열과 객체의 가장 큰 차이점이다. 즉, 순서가 정해져있지 않기에 index number에 구애받지 않는다.

프로퍼티 접근

객체에서는 우리가 원하는 정보의 Key(속성 이름)만 알면 정보(Value; 속성 값)에 접근할 수 있다.
그 정보에 접근하는 방식으로는 마침표 표기법(Dot Notation)과 대괄호 표기법(Bracket Notation) 두 가지의 방식이 있다.

마침표 표기법(Dot Notation) 방식

myPet.name;      // "춘식"

Dot Notation 방식을 사용하면, 기본적으로 속성 이름(Key)에 따옴표 없이 속성 값에 접근할 수 있다.
단, 앞선 객체 예시에서와 같이 식별자에 허용되지 않는 문자가 속성 이름에 들어가 있는 경우에는 Dot Notation 방식으로 속성 값에 접근할 수 없다.
이처럼 특별한 경우가 아니라면, 일반적으로는 Dot Notation을 많이 사용하는 편이다!

대괄호 표기법(Bracket Notation) 방식

mysPet['name'];      // "춘식"

Bracket Notation 방식을 사용하면, 기본적으로 대괄호 안에서 속성 이름(Key)에 따옴표를 붙인 채로 속성 값에 접근할 수 있다.
또한, 속성 이름을 문자열로 인식하여 할당받은 변수를 통해서 속성 값에 접근할 수도 있다.
(Dot Notation 방식에서는 변수를 통해서 속성 값에 접근하는 것이 불가능하다.)

객체가 필요한 이유

자바스크립트는 객체(Object) 기반의 스크립트 언어이며, 자바스크립트를 이루고 있는 거의 "모든 것"이 객체다. 원시 타입(Primitives)을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체이기 때문에 자바스크립트에서 객체는 필수 불가결한 존재다.
객체는 데이터를 의미하는 프로퍼티(Property)와 데이터를 참조하고 조작할 수 있는 동작을 의미하는 메소드(Method)로 구성된 집합이다. 객체는 데이터(프로퍼티)와 그 데이터에 관련되는 동작(메소드)을 모두 포함할 수 있기 때문에 데이터와 동작을 하나의 단위로 구조화할 수 있어 유용하다.
관련 있는 정보들을 서로 연결하는 데에 객체를 활용하면, 데이터(Value)와 문자열(Key)을 연관 지어서 저장할 수 있기 때문에 코드를 유지 보수할 때에도 매우 편리하다.
간단한 코드에서는 이를 쉽게 느낄 수 없겠지만, 코드가 복잡해지고 데이터가 많아질수록 유지 보수가 훨씬 편리해진다는 걸 느낄 수 있을 것이다.

참고

http://www.tcpschool.com/javascript/js_object_concept
모던자바스크립트

profile
춘식이는 너무 귀엽습니다.

0개의 댓글