Interface is the set of properties, methods, indexers, and events exposed by an object that allow other objects to access its data and functionality. An object guarantees that it will support all of the elements of its interface by way of an interface contract. In C#, this contract is created by the use of the Interface keyword, which declares a reference type that encapsulates the contract.