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

6. 프로토타입(Prototypes)과 프로토타입 상속(Prototype Inheritance) - 3

by leo2114 2024. 2. 15.
반응형

프로토타입을 활용한 상속의 구현 방법 및 장단점

프로토타입을 활용한 상속은 자바스크립트에서 객체지향 프로그래밍을 구현하는 핵심 기법 중 하나입니다. 이번 섹션에서는 프로토타입을 활용한 상속의 구현 방법과 장단점에 대해 알아보겠습니다.

1. 구현 방법

프로토타입을 활용한 상속은 다음과 같은 단계로 구현할 수 있습니다.

 

단계 1: 부모 객체 생성

var Parent = function(name) {
    this.name = name;
};

Parent.prototype.sayHello = function() {
    console.log("Hello, I'm " + this.name);
};

 

단계 2: 자식 객체 생성 및 프로토타입 설정

var Child = function(name, age) {
    Parent.call(this, name);
    this.age = age;
};

Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;

2. 장단점

장점:

  • 코드의 재사용성이 높아집니다. 부모 객체에 공통된 속성이나 메서드를 정의하고, 이를 자식 객체에서 상속받아 사용함으로써 코드 중복을 줄일 수 있습니다.
  • 상속 관계를 명확하게 표현할 수 있습니다. 프로토타입 체인을 통해 객체 간의 상속 관계를 명확하게 확인할 수 있습니다.

단점:

  • 프로토타입 체인은 동적으로 변경되는 경우가 있습니다. 자식 객체에서 부모 객체의 프로퍼티를 변경하면, 이 변경이 모든 자식 객체에 영향을 미칠 수 있습니다.
  • 상속 체인이 깊어질수록 프로토타입 체인의 검색 속도가 느려질 수 있습니다. 이는 프로토타입 체인을 효율적으로 관리해야 함을 의미합니다.

3. 결론

프로토타입을 활용한 상속은 자바스크립트에서 객체지향 프로그래밍을 구현하는 강력한 방법 중 하나입니다. 코드의 재사용성을 높이고 상속 관계를 명확하게 표현할 수 있으나, 프로토타입 체인의 동적 변경과 검색 속도 등 몇 가지 주의할 점이 있습니다. 프로토타입을 효과적으로 활용하여 객체지향적인 코드를 작성하는 데 유용하게 활용할 수 있습니다.

 
 
반응형