OOP je stavove. Ak je to bezstavove, tak to nie je OOP, ale nieco ine.
OOP je přece hlavně o tom, když to porovnám s procedurálním strukturovaným programováním (třeba v C), že ti přímo umožňuje nad moduly (třídy) provádět polymorfismus. To je nejdůležitější vlastnost. Druhá vlastnost je, že máš přimou podporu pro zapouzřenost (pomocí přístupových modifikátorů), což by měl každý modul splňovat. Nejméně důležitá vlastnost je pak ta, že ti umožňuje vytvářet moduly, které rozšiřují nějaké moduly (dědičnost).
Jestli budeš dělat objekty stavové nebo bezestavové, to je pak už úplně podružné.