Inheritance is one object that gets access to the properties and methods of another object.
Interestingly all objects can share prototype properties and methods. For example, obj2.prop2 would also reference the same spot in memory as obj.prop2. So they’re literally sharing a property but not directly. They are connected via the prototype chain.
So simply put all objects have a reference to another object and we call that its prototype, where it goes and looks for properties and methods if not found on the original object.