자바스크립트의 프로토타입 기반 상속을 왜 활용하는가?
[[Prototype]]
GPT상
- 코드 재사용성: 프로토타입 기반 상속을 사용하면 부모 객체의 속성과 메서드를 자식 객체에서 재사용할 수 있습니다. 이는 코드의 중복을 줄이고 유지보수를 쉽게 만듭니다.
- 동적인 구조: 자바스크립트의 프로토타입 기반 상속은 클래스 기반 상속보다 동적인 구조를 제공합니다. 객체의 프로토타입은 런타임에 동적으로 변경할 수 있으며, 이를 통해 객체의 동작을 유연하게 조정할 수 있습니다.
- 가볍고 유연한 객체 생성: 프로토타입 기반 상속은 클래스 기반 상속보다 더 가볍고 유연한 객체 생성을 가능하게 합니다. 객체를 생성하는 데 별도의 클래스 정의가 필요하지 않으며, 필요에 따라 동적으로 프로토타입을 변경할 수 있습니다.
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
'개발공부 > Javascript' 카테고리의 다른 글
#기본기16_자바스크립트 이벤트 버블링과 캡처링은 무엇인가? (0) | 2024.04.03 |
---|---|
#기본기15_localStorage와 sessionStorage의 차이 (0) | 2024.04.03 |
#기본기13_자바스크립트에서 메모리 관리와 성능 최적화 방법 (1) | 2024.04.03 |
#기본기12_클라이언트 사이드 랜더링 / 서버사이드 랜더링 (0) | 2024.04.03 |
#기본기11_fetch() (0) | 2024.04.03 |