..

Search

27) 객체의 개념

27) 객체의 개념

객체의 개념


객체(object)란?

객체(object)란 실생활에서 우리가 인식할 수 있는 사물로 이해할 수 있습니다.


객체의 예

객체(object)

- 고양이

kitty

 

프로퍼티(property)

- cat.name = "나비"

- cat.family = "코리안 숏 헤어"

- cat.age = 0.1

- cat.weight = 300

 

메소드(method)

- cat.mew()

- cat.eat()

- cat.sleep()

- cat.play()

 

고양이 객체는 모두 위와 같은 프로퍼티를 가지지만, 각 프로퍼티의 값은 인스턴스마다 전부 다를 것입니다.


자바스크립트 객체

자바스크립트의 기본 타입(data type)은 객체(object)입니다.

 

객체란 이름(name)과 값(value)으로 구성된 프로퍼티(property)의 정렬되지 않은 집합입니다.

프로퍼티의 값으로 함수가 올 수도 있는데, 이러한 프로퍼티를 메소드(method)라고 합니다.

예제

var cat = "나비"; // 일반적인 변수의 선언

// 객체도 많은 값을 가지는 변수의 하나임.

var kitty = { name: "나비", family: "코리안 숏 헤어", age: 1, weight: 0.1 };

cat          // 나비

kitty.name   // 나비

코딩연습 ▶

 

자바스크립트에서는 숫자, 문자열, 불리언, undefined 타입을 제외한 모든 것이 객체입니다.

하지만 숫자, 문자열, 불리언과 같은 원시 타입은 값이 정해진 객체로 취급되어, 객체로서의 특징도 함께 가지게 됩니다.


객체의 프로퍼티 참조

자바스크립트에서 객체의 프로퍼티를 참조하는 방법은 다음과 같습니다.

문법

객체이름.프로퍼티이름

또는

객체이름["프로퍼티이름"]

 

예제

var person = {

    name: "홍길동",      // 이름 프로퍼티를 정의함.

    birthday: "030219",  // 생년월일 프로퍼티를 정의함.

    pId: "1234567",      // 개인 id 프로퍼티를 정의함.

    fullId: function() { // 생년월일과 개인 id를 합쳐서 주민등록번호를 반환함.

        return this.birthday + this.pId;

    }

};

person.name    // 홍길동

person["name"// 홍길동

코딩연습 ▶


객체의 메소드 참조

자바스크립트에서 객체의 메소드를 참조하는 방법은 다음과 같습니다.

문법

객체이름.메소드이름()

 

예제

var person = {

    name: "홍길동",

    birthday: "030219",

    pId: "1234567",

    fullId: function() {

        return this.birthday + this.pId;

    }

};

person.fullId() // 0302191234567

person.fullId;  // function () { return this.birthday + this.pId; } 

코딩연습 ▶

 

메소드를 참조할 때 메소드 이름 뒤에 괄호(())를 붙이지 않으면, 메소드가 아닌 프로퍼티 그 자체를 참조하게 됩니다.
따라서 괄호를 사용하지 않고 프로퍼티 그 자체를 참조하게 되면 해당 메소드의 정의 그 자체가 반환됩니다.

연습문제