Also, aren't public key and private key both just btc addresses with different representation ?
Let's define what is a bitcoin address. A bitcoin address is an identifier of 26-35 alphanumeric characters that represents a possible destination for a bitcoin payment. Once we make a transaction we "lock" the amount of bitcoins to an address. In some way, a public key is an address representation. If we
make some hashes and other changes to a public key, yes we can get our address. Whether you give someone your public key or your address is [...]
within some limits the same thing.
A bitcoin private key must not be represented as an address in no way. Address is the locker, private key is the unlocking key. Knowing a private key means you are the owner of an address. Otherwise, you can't prove you own bitcoins.
[...] Not exactly the same. For example, if someone gives you a public key you can instantly know the address. If someone gives you an address that has never spent funds, you can't know his public key. So what? Well, not big deal. Although, knowing someone's public key
may be a problem in the next decade.