Overcoats are designed for wearing over suits and dinner jackets.  Dress overcoats should be just below the knee length or 6 to 8 inches longer. 

Topcoats used to describe a lighter overcoat worn in spring and fall, while overcoat depicted a winter coat but the names now seem to be interchangeable.