Pergunta de entrevista da empresa Goldman Sachs

What is the difference between a class, an abstract class, and an interface?