Interfaces are structures, similar to classes, that contain non-implemented methods. Interfaces are implemented as subclasses where the methods are then implemented.