IP addresses are the number addresses that refer to your computer on the Internet. Each machine or device that is attached to the internet has an address.
Public addresses are addresses that are used by everything directly connected to the Internet. Currently we mainly use Internet Protocol version 4 that has addresses that look like 18.104.22.168 They are 4 numbers separated by periods and each of the numbers can be between 0 and 255. There are a few combinations that have special meanings.
Private addresses are numbers that are served for use by computers/devices on a network but not directly connected to the Internet. These are addresses that are 192.168.x.x and 10.x.x.x and 172.x.x.x where x is basically any number from 0 to 255
Many computers today that have Internet access do not use a public address but have a private address. The router/modem/proxy that connects your network or is your connection to the Internet converts the private address to a single public address and uses the same public address for all the machines at your place and keeps track on where to send and set from.
We are using lots of private addresses to day and converting to a single public as we have more devices on the internet than there are IP addresses in version 4. With Internet Protocol (IP) version 6 there are plenty of addresses and we are converting to it currently. The addresses it uses look totally different.