Does upload using `ICSP`overwrite the bootloader?
Yes.
When you program using ISP you overwrite everything in the chips flash, even the bootloader. 

This has some pro's and con's:


Pro: The program starts immediately, meaning it doesn't wait to check if there's any programming coming in before starting your sketch. 
Con: You need to use ISP to program your Arduino again or to upload the bootloader again.


Normally there is not really any reason for not having the bootloader present but if you are programming bare Atmel chips without a serial interface this way might be preferable.