- Interface: a contract listing method signatures, with no bodies
- implements: a class promises to provide bodies for an interface's methods. Yes — a class can implement multiple interfaces
- Interfaces vs. extending: Java only allows single inheritance (extends one class), but a class can implement many interfaces — so interfaces let unrelated classes (like Treasure and Monster) share a capability (e.g. Interactable) without forcing them into one rigid "is-a" hierarchy
- Casting: A syntax for telling the JVM to treat a object as if it is a different (related) type.