본문 바로가기
javascript pure/javascript 코어 개념

5. 프로토타입(Prototypes)과 프로토타입 상속(Prototype Inheritance) - 2

by leo2114 2024. 2. 15.
반응형

프로토타입 체인(Prototype Chain)

프로토타입 체인은 자바스크립트에서 객체지향 프로그래밍의 상속을 구현하는 메커니즘 중 하나입니다. 이번 섹션에서는 프로토타입 체인의 개념과 동작 방식에 대해 알아보겠습니다.

1. 프로토타입 체인의 개념

프로토타입 체인은 객체가 특정 속성이나 메서드를 찾을 때, 해당 객체의 프로토타입 체인을 따라 상위 프로토타입 객체를 검색하는 메커니즘을 의미합니다. 모든 객체는 자신의 프로토타입을 가리키는 [[Prototype]] 링크를 가지고 있으며, 이 링크를 통해 프로토타입 체인을 구성합니다.

2. 프로토타입 체인의 동작 원리

객체의 속성 또는 메서드를 찾을 때, 먼저 해당 객체 자체에 해당 속성 또는 메서드가 있는지 확인합니다. 없다면 객체의 프로토타입([[Prototype]])을 확인하여 상위 프로토타입 객체로 이동합니다. 이 과정을 상위 프로토타입 객체가 존재하지 않을 때까지 반복하며, 이를 통해 전체 프로토타입 체인을 검색합니다.

3. 프로토타입 체인의 예시

// 부모 객체
var parent = {
    name: "Parent",
    sayHello: function() {
        console.log("Hello, I'm " + this.name);
    }
};

// 자식 객체
var child = Object.create(parent);
child.name = "Child";

// 자식 객체에서 메서드 호출
child.sayHello(); // 출력: "Hello, I'm Child"

 

위의 예시에서는 parent 객체를 상속받아 child 객체를 생성하였습니다. child 객체에서 sayHello 메서드를 호출하면 먼저 자신의 속성을 검색하고, 없으면 부모 객체인 parent의 프로토타입 체인을 따라 올라가서 해당 메서드를 찾습니다.

4. 프로토타입 체인의 활용

프로토타입 체인을 통해 상속을 구현할 수 있습니다. 부모 객체에 공통된 속성이나 메서드를 정의하고, 자식 객체에서 이를 상속받아 사용함으로써 코드의 재사용성을 높일 수 있습니다.

5. 결론

프로토타입 체인은 자바스크립트의 핵심 메커니즘 중 하나이며, 객체지향 프로그래밍에서 상속을 구현하는 핵심 원리입니다. 프로토타입 체인을 이해하고 활용한다면 객체지향 프로그래밍에서 더욱 효율적이고 유연한 코드를 작성할 수 있습니다.

반응형