My understanding of an interface is basically a thing that has predefined function names and anything that implements it has to have those functions. The usefulness of having interfaces, from my understanding at least, is to make it easier to group objects and reference them in other places (e.g get all the ISaveables rather than getting Mover, Fighter etc individually).
1 Like