We use NAT ( Network Access Translation) adapter to allow private instances to have outbound communication with the outside world ( we don't have inbound communication - otherwise we would as well have public subnets).
If you run ipconfig on the instance, you can only see the private address, because the public address is associated to the adapter.
The internet gateway - see graph above - performs NAT.