【HTML/CSS】クラスとIDの使い分け方、違い

ウェブサイトの見た目は通常、HTMLにCSSのファイルを読み込んで、タグやclassやidによる指定で装飾を施して成り立っています。 HTMLで構造を記述 CSSで装飾を指定 という具合。 その際に、classとidはどう違って、どう使い分けるべきなのか。 Webデザイン勉強中の方が迷うところだと思うので、解説したいと思います。