While what iKlsR says is indeed the most efficient, it's often preferred to either add edge loops on both sides of the hard edge, or bevel it (<kbd>Ctrl</kbd> + <kbd>B</kbd>). When smooth shaded this produces a more realistic surface since there's seldom any truly sharp corners in reality, and also catches specular highlights nicely showing off the model better.

![Beveled corner with wireframe][1]

![Close-up][2]

Note that the Edge Split modifier shouldn't be used when beveling or using edgeloops to sharpen corners. Edge Split physically cuts the model to fake a sharp corner, whereas beveling actually creates the corner.


  [1]: https://i.sstatic.net/heVLc.jpg
  [2]: https://i.sstatic.net/XT2Ya.png