A contract or specification that defines what methods a class must implement without specifying how they should be implemented. Interfaces ensure that different classes can be used interchangeably if they follow the same interface contract.
From Latin 'inter' (between) + 'facies' (face), meaning the surface between two things. Originally used in physical sciences to describe boundaries between different materials. Computing adopted it in the 1970s to describe the boundary and interaction points between software components.
Try Another Word