it's same as your address. when you want your friend come to your home you have to share it. when you want receive bitcoin you have to share it, Public key is bitcoin address, but you have to careful to share it if you want people know how rich you.
https://en.wikipedia.org/wiki/Public-key_cryptographyPublic key and address are not the same.
Public key is the x and y coordinate of a point that is generated from your private key and is used during transaction signature verification so it has to be provided.
A bitcoin address has always been the encoding of a hash that is usually hash of the public key (but it may be hash of a script too).