While it is important to have good vocabulary, that's hardly the primary use of an interface. Even in that article, Gamma talks about separating specification from implementation first.
As an example,
interface: BookDao
class: InMemoryBookDao
I can
test my code using the BookDao. When the implementation later changes to OracleBookDao, I don't need to change any of the calling code. This makes my code far less brittle.
As far as load, don't worry. The JVM can handle interfaces just fine. They are such a tiny percentage of the load of memory that it isn't worth worrying about.