Interface
Um contrato que descreve quais métodos uma classe precisa implementar, sem dizer como.
Java/C#/Go têm interface. Rust chama isso de trait. TypeScript usa tipagem estrutural — qualquer tipo com os campos certos serve. Viabiliza polimorfismo e injeção de dependência.