개발공부/Javascript

#기본기14_자바스크립트의 프로토타입 기반 상속 활용

킴승 2024. 4. 3. 15:06

자바스크립트의 프로토타입 기반 상속을 왜 활용하는가?

[[Prototype]]

   GPT상

  1. 코드 재사용성: 프로토타입 기반 상속을 사용하면 부모 객체의 속성과 메서드를 자식 객체에서 재사용할 수 있습니다. 이는 코드의 중복을 줄이고 유지보수를 쉽게 만듭니다.
  2. 동적인 구조: 자바스크립트의 프로토타입 기반 상속은 클래스 기반 상속보다 동적인 구조를 제공합니다. 객체의 프로토타입은 런타임에 동적으로 변경할 수 있으며, 이를 통해 객체의 동작을 유연하게 조정할 수 있습니다.
  3. 가볍고 유연한 객체 생성: 프로토타입 기반 상속은 클래스 기반 상속보다 더 가볍고 유연한 객체 생성을 가능하게 합니다. 객체를 생성하는 데 별도의 클래스 정의가 필요하지 않으며, 필요에 따라 동적으로 프로토타입을 변경할 수 있습니다.
let animal = {
  life : "있음",
  walk : "가능"
}

let cat = {
  appearance : "귀여움"
}

let dog = {
  충성심 : "강함"
}

cat.__proto__ = animal;
dog.__proto__ = cat;

console.log(cat.life); // 있음
console.log(cat.walk); // 가능

console.log(dog.appearance) // 귀여움
console.log(dog.life) // 있음, 프로토타입 체이닝에 의한 상속 

cat.life = "살아있네";
console.log(animal.life); // 상위속성의 경우 변경되지 않음, 직접 변경해야 함
console.log(cat.life);  // 새롭게 설정됨 .life
console.log(dog.life);  // 바로 상위의 변경된 값으로 상속됨

 

 

좀 더 자세한 내용은 아래 링크를 통해..

 

출처 : https://ko.javascript.info/prototype-inheritance#ref-457

 

프로토타입 상속

 

ko.javascript.info