⚠️주의: 이 포스팅은 작성자의 공부 목적으로 작성했고, 작성자만 알아들을수 있게 대충 작성되어있을 수 있음.
아래 이미지 처럼 클래스에는 프로토타입이 있다고 했다. 프로토타입은 클래스의 메소드와 속성을 담고 있다.
이 이미지에서 lemon은 클래스 Fruit의 인스턴스인데, Fruit의 프로토타입에 접근하려면 lemon.__proto__를 써서 알 수 있다.
상속되는 클래스의 예시를 들어보자.
부모클래스 --> 자식클래스 --> 자식의자식클래스 --> 응애클래스
응애클래스.__proto__.constructor = 자식의자식클래스
응애클래스.__proto__.__proto__.constructor = 자식클래스
응애클래스.__proto__.__proto__.__proto__.constructor = 부모클래스
응애클래스.__proto__.__proto__.__proto__.__proto__.constructor = Object
__proto__.constructor로 계속 타고 올라가다 보면 Object라는 클래스가 나옴. Object는 모든 클래스들의 조상임.
이렇게 상속되는 클래스의 메소드와 속성은 상위 클래스에서 부터 내려오는데 올라가는데 이를 프로토타입 체인이라고 함.