JavaScript

객체 생성

객체 생성

  • 사용자 정의 객체를 생성하는 방법은 크게 3가지가 있습니다.
     
  • 객체 이니셜라이저(initializer) 이용
  • 생성자 함수 이용
  • Object.create() 메서드 이용

 

 

 

객체 이니셜라이저(initializer) 이용

  • 이 방법은 '리터널 표기에 의한 객체 생성'(creating objects with literal notation)이라고도 불립니다.
  • 기본적인 형태는 다음과 같습니다.
var obj = {
    property_1: value_1,
    property_2: value_2,
    // ...,
    property_n: value_n
};

 

  • 중괄호를 사용하여 묶고, 각 프로퍼티(property)에 값(value)를 매칭시키면 끝납니다.

 

var myHonda = {
    color: "red",
    wheels: 4,
    engine: { cylinders: 4, size: 2.2 }
};

 

 

 

생성자 함수 이용

  • 생성자 함수란 객체를 만들기 위한 타입을 정의해놓는 함수를 말합니다.
  • 함수이기 때문에 function 키워드를 이용하여 선언하고 만들면 됩니다.
     
  • 생성자 함수를 이용하여 객체를 생성하는 단계는 다음과 같습니다.
     
  • 먼저 생성자 함수를 생성합니다.
  • 생성자 함수의 이름은 대문자로 정의하는 관례가 있으므로 따르도록 합니다.
  • 'new' 키워드를 이용하여 객체 인스턴스를 생성합니다.

 

  • 예를 들어 자동차 타입의 객체를 만들기 위한 생성자는 다음과 같이 만들 수 있습니다.
function Car(make, model, year) {
    this.make = make;
    this.model = model;
    this.year = year;
}

 

  • Car 생성자는 제조사(make), 모델(model), 년도(year) 프로퍼티를 가지고 있습니다.
  • 'this' 키워드는 생성자 함수를 호출할 때 괄호 안의 make, model, year 함수 인자에 값을 전달하고 받은 값을 생성된 객체에 할당하기 위해 사용합니다.

 

var kenscar = new Car("Nissan", "300ZX", 1992);
var vpgscar = new Car("Mazda", "Miata", 1990);

 

  • Car() 생성자를 이용하여 매개변수에 값을 넣어 'kenscar', 'vpgscar' 자동차 객체를 생성한 것입니다.
  • 각 객체를 구성하는 프로퍼티의 종류는 같지만, 그 프로퍼티 값은 다르게 객체를 만들 수 있습니다.

 

 

Object.create() 이용

  • 이 메소드는 사용할 프로토타입 객체를 사용자가 직접 선택합니다.
  • 객체를 프로토타입으로 설정하여 여러 객체를 생성할 수 있습니다.

 

var Car = {
    make: "Nissan",
    model: "300ZX",
    year: 1992
};

var car1 = Object.create(Car);
var car2 = Object.create(Car);

 

 

댓글

댓글 본문
버전 관리
KNUT X LIKE LION
현재 버전
선택 버전
graphittie 자세히 보기