“Interface vs. implementation” is a split that runs all the way down a software project, from UI vs. code to the names of individual methods. Knowing which of the two hats you’re wearing at a given moment is key to keeping complexity under control and communicating better with your team.