This is about Swift "protocols" which are more like "interfaces". It isn't about network protocols or process calculi.
And it's annoying to have to explain this to all the other devs on the team who don't use Obj-C. Here's hoping Swift fixes the vocabulary.
EDIT: I suppose the main difference between Swift's "protocol" and Java's "interface" is that Swift lets the dev provide actual implementations for some declared functions. "Protocol" is still not an idea word in my opinion.
In Swift, on the other hand, one can make a class conform to a protocol, even if one does not have access to its source code (https://www.andrewcbancroft.com/2014/12/02/send-a-type-to-ob...)