For me, interfaces are a way to standardize classes available to the programmer in a way that makes parts behave together, while avoiding the dreaded spaghetti code.
So, I guess interfaces are like a menu? The customer (class calling the interface) takes their requested spaghetti (class being called) from the chain restaurant, who is using the same menu (interface) as a way to standardize the requests they receive from each customer across the franchise
To rephrase, just like interfaces are a contract between a “calling” and a “worker” class, a menu is a contract between a customer and a chain restaurant that lets each “calling” class / customer confidently request the same thing each time from the “worker” class / restaurant, no matter where the CheeseBurger() is called / ordered from.