[javascript] 객체 생성 시 프로토타입의 역할

자바스크립트에는 프로토타입 기반의 객체 지향 언어이기 때문에, 모든 객체는 해당 객체의 프로토타입을 갖습니다.

프로토타입이란?

프로토타입은 객체의 원형이며, 기존의 객체를 기반으로 새로운 객체를 만들 때 사용됩니다. 모든 객체는 프로토타입을 바탕으로 생성되며, 해당 객체가 갖는 프로퍼티와 메소드는 프로토타입에서 상속받습니다.

프로토타입의 역할

프로토타입의 주요 역할은 다음과 같습니다:

프로토타입 체인

객체가 특정 프로퍼티나 메소드를 찾을 때, 해당 객체의 프로토타입 체인을 따라 올라가면서 찾게 됩니다.

아래는 코드 예시입니다:

// 부모 객체
var parent = {
    parentProperty: 'Parent Property'
};

// 자식 객체
var child = Object.create(parent);
child.childProperty = 'Child Property';

console.log(child.childProperty); // Output: 'Child Property'
console.log(child.parentProperty); // Output: 'Parent Property'

위 예제에서 child 객체는 parent 객체를 프로토타입으로 가지고 있으며, child 객체에서 parent 객체의 프로퍼티에 접근할 수 있습니다.

프로토타입을 통해 객체의 공통적인 동작을 정의하고 공유함으로써 코드의 재사용성을 높일 수 있습니다.

결론

프로토타입은 자바스크립트의 핵심 개념 중 하나로, 객체 지향 프로그래밍에서의 상속과 유연한 동작 변경을 가능케 합니다. 프로토타입을 이해함으로써 객체 생성과 동작상속을 효과적으로 다룰 수 있게 됩니다.

자세한 내용은 MDN web docs를 참고하시기 바랍니다.