728x90
반응형
javascript에서 오버라이딩을 구현하는 방법을 알아보겠다.
function A(){}
A.prototype.sayHello = function() {
console.log("prototype hello");
} // 프로토타입 섀도잉
const a = new A()
a.sayHello(); // prototype hello
class A가 있을때, prototype에 sayHello가 있다고 하자.
new를 이용해 인스턴스 a를 생성하면 a.sayHello에 접근할 수 있을 것이다.
이때 a에 똑같은 sayHello라는 프로퍼티를 추가하여 오버라이딩 할 수 있다.
a.sayHello = function() {
console.log("my hello");
} //프로토타입 오버라이딩
console.log(a.sayHello) // my hello
이렇게 오버라이딩 되어서 가려진 A.prototype.sayHello를 프로토타입 섀도잉이라고 하고,
가린 메소드 a.sayHello를 작성하는 것을 프로토타입 오버라이딩이라고 한다.
728x90
반응형
'javascript' 카테고리의 다른 글
[javascript] nested object deep copy, 중첩 Object 깊은 복사 (0) | 2022.06.09 |
---|---|
[javascript] super의 역할 (0) | 2022.04.07 |
[javascript] 상속, class, extends키워드 (0) | 2022.04.06 |
[javascript] private 정의하기 (0) | 2022.04.05 |
[javascript] 클래스 필드란 (0) | 2022.04.05 |