obj.가 객체일때 obj.__proto__를 하면 getter가 실행

obj.proto = {} 를 하면 setter가 실행

<aside> 💡

즉 기존 Object.prototype으로부터 상속받았던 체인을 변경하는 행위로 obj는 {} 를 상속받게되어 이 순간부터 prototype 프로퍼티는 사용 불가.

</aside>

<aside> 💡

객체.__proto__가 된다고 해서

__ proto__ 는 객체가 직접 가지고있는게 아니라 Object.prototype의 프로퍼티임.

즉 Object.prototype.proto 인거임.

모든객체가 Object.prototype을 상속받기때문에 __ proto__를 사용할 수 있는거임.

</aside>