If I transfer BTC to a friend/family, they now know my wallet address, correct? Does this mean they can see all the transactions I have done from that wallet? It seems like wallet information is public except for identity, but that would be forfeited once I make a transfer, right?
It all depending on the structure of your wallet.
Imagine you have 1 address 1xxx that received 1 BTC one time. You have no choice but to use it and anyone receiving coins from you could assume that you had 1 BTC.
Now imagine that you received 0.25 BTC to the same 1xxx address 4 times. Sending someone 0.1 BTC would require only one of those outputs, but it would still reveal the rest of the outputs of the same address, and it will be practically like the first case.
Now imagine you received 0.25 BTC four times, but into a unique address every time. Now if you send your friend 0.1 BTC, they will only know that you owned 0.25 BTC and not know about the three other 0.25 BTC coins. However, your friend will know about your 0.15 BTC change, and if you will later use it together with the other 0.25 BTC coins, they will learn about them.
To have good privacy you need to use mixing services and manually select coins (UTXO - unspent transaction output) when you make a transaction.