The protocol is similar to Java interface defining a list of necessary methods that need to be implemented by a class. The protocol can be implemented by any of the classes or methods without knowing its type.