Proč objekty:
1. zapouzdřenost - jsou to samostatné celky, které dělají nějakou konkrétní činnost - tohle může být tvůt TFTP, který poskytuje vše kolem komunikace. Stejnou činnost by měl dělat (zapouzdřovat) pouze jeden objekt. Zbytek obslužného programu pak bude v vláknech vytvářet objekty TFTP, udržovat jejich seznam atd.
2. dědičnost - je třeba dobře nadefinovat základní objekt. Tohle bys využil, pokud bys měl např, nějakou implementaci obecného protokolu pro přenos souborů jako objekt a pomocí dědičnosti z něj udělal FTP, SFTP, FTPS, TFTP, ... Vlastní program pak nezajímá, jaký protokol používá, ke všem přistupuje stejně, volá stejné metody apod.