Object.create()를 활용한 프로토타입 객체 생성

JavaScript에서 객체를 생성할 때, 기존 객체를 참조하여 새로운 객체를 생성하는 방법이 있습니다. 이를 프로토타입 객체 생성이라고 합니다. 프로토타입 객체를 생성하는 방법 중 하나는 Object.create() 메소드를 활용하는 것입니다.

Object.create() 메소드

Object.create() 메소드는 인자로 전달된 객체를 프로토타입으로 하는 새로운 객체를 생성합니다. 새로운 객체는 프로토타입 객체의 속성과 메소드를 상속받습니다. 이렇게 생성된 객체는 프로토타입 체인을 통해 상위 객체의 속성과 메소드를 접근할 수 있습니다.

const protoObj = {
  greeting: "Hello",
  sayHello: function() {
    console.log(this.greeting);
  }
};

const newObj = Object.create(protoObj);

위의 예제에서 protoObj는 프로토타입 객체입니다. newObjprotoObj를 프로토타입으로 하는 새로운 객체입니다. protoObj의 속성과 메소드는 newObj에서도 사용할 수 있습니다.

console.log(newObj.greeting); // Hello
newObj.sayHello(); // Hello

프로토타입 체인

프로토타입 체인은 프로토타입 객체들이 연결되어 있는 구조를 말합니다. 객체에서 특정 속성에 접근하려 할 때, 해당 객체에 속성이 없다면 JavaScript는 상위 객체(프로토타입 객체)에서 해당 속성을 찾습니다. 이런식으로 계속해서 상위 객체에서 속성을 찾아 올라가며 검색하는 것이 프로토타입 체인입니다.

Object.create()를 사용하면 프로토타입 체인을 구성하는 객체들을 생성하고, 상속 관계를 설정할 수 있습니다. 이를 통해 객체 간의 코드 재사용과 상속을 효과적으로 구현할 수 있습니다.

결론

Object.create() 메소드를 활용하여 프로토타입 객체를 생성하고, 프로토타입 체인을 구성하는 방법에 대해 알아보았습니다. 이를 통해 객체의 상속과 코드의 재사용을 간단하게 구현할 수 있습니다.

#JavaScript #프로토타입