프로토타입 체인(Prototype Chain)은 자바스크립트에서 객체 간의 상속을 구현하는 메커니즘입니다. 이를 통해 객체는 다른 객체의 프로퍼티와 메소드를 상속받을 수 있습니다. 프로토타입 체인의 동작 방식과 활용 방법을 살펴보겠습니다.
프로토타입과 [[prototype]]:
[[prototype]]
이라는 내부 슬롯을 가집니다. 이는 해당 객체의 프로토타입(prototype)을 가리킵니다.Object.create()
메소드를 통해 직접 지정할 수도 있습니다.[[prototype]]
을 따라 올라가며 프로퍼티와 메소드를 찾는 계층 구조를 형성합니다.프로토타입 체인의 탐색:
[[prototype]]
을 통해 프로토타입 체인을 따라 위로 올라가면서 프로퍼티나 메소드를 찾습니다.Object.prototype
)에 도달할 때까지 반복됩니다.undefined
프로토타입 체인의 활용:
프로토타입 체인을 시각적으로 표현하면 다음과 같습니다:
[객체] -> [프로토타입1] -> [프로토타입2] -> ... -> [Object.prototype] -> null
프로토타입 체인을 통해 객체는 프로토타입 체인 상의 상위 객체의 프로퍼티와 메소드를 접근할 수 있습니다. 이를 이용하여 상속, 메소드 오버라이딩, 프로토타입 확장 등 다양한 패턴을 구현할 수 있습니다.