La idea de una Interfaz es básicamente una "declaración de intenciones" o un "contrato" por la que las clases que lo implementan "se comprometen" a tener una serie de métodos.
¿Y para que sirve? Para poder manipular clases sin saber exactamente que clase estamos tratando, usando unicamente los métodos que sabemos seguro que tendrá por que se ha "comprometido" a tenerlos (implementando una interfaz).
Un ejemplo real es usar algo tan simple como un Map en Java. Cuando manipulamos objetos de "la clase Map" en realidad no sabemos de que clase son (suponiendo que no lo hayamos creado nosotros, claro
), ya que Map es una interfaz y debajo podría haber cualquier cosa, con tal de que tenga los metodos que Map requiere. Puede ser un HashMap, un TreeMap, una Hastable... pero a nosotros nos da igual mientras se comporte como Map y nuestro programa funcionará igual se trate de una clase de Map u otra.
En definitiva, nos indica como podremos interactuar con un grupo de clases (las que implementen la interfaz) sin tener que saber exactamente que clases son ni como están implementadas. Lo cual es muy muy útil y se usa más de lo que mucha gente cree, pero no se da cuenta.
S!
PD: En tu caso quiza no lo veas claro por que trabajas con solo
una clase y entonces una interfaz no tiene mucha utilidad. Pero si tuvieras varias clases con esos metodos y tu programa tuviera que funcionar igual con todas ellas, sería otra cosa.