I tried to apply a Subdivision Surface on a part of my object. I can't keep the angles sharp, they all turn into rounded angles.
In order to keep hard your edges, use the Crease. You find it on the right
The crease makes your edges purple, in order to show you wich one will remain hard or not.
Usually is set on 0.00 . . . Max it from 0.00 to 1.00 and your edges will keep their shape after a subdivision surface.
For example: Before subdivision