Alguien puede explicarme la diferencia entre una clase abstracta y un interfaz? por lo que entiendo la clase abstracta sirve para definir una estructura (métodos y atributos) sin implementar, que luego se implementan en las clases hijas en que sea necesario. Sobre la interfaz, entiendo que es básicamente lo mismo, pero que ademas un objeto puede tener varias interfaces, cosa que solo puede tener un método abstracto.
Alguien puede confirmarme si es correcto lo que he comentado y orientarme un poco mas en este tema?.