Neben OOP kann man auch Prozedural arbeiten. Beide haben ihre Vor- und Nachteile.
Prozedurale Programmierung macht produktiv, man kann Funktionen definieren, die man mehrmals wiederverwenden kann (zB. für Volumenberechnungen eines Würfels) - Vorteil, die Speicheraufwendung bleibt niedrig. Spätestens, wenn man sich an ein großes Projekt rantraut, verliert man leicht die Übersicht und Fehler entstehen.
Hier kommt die OOP ins Spiel. Hier arbeitest du mit einem Bauplan, dein Objekt, das die Attribute und Funktionen für dein Programm mit sich trägt. Du kannst deinen Bauplan mit anderen Bauplänen erweitern, du kannst deinem Bauplan eine bestimmte Konvention vorschreiben, mehrere Baupläne können miteinander in Beziehung stehen.
Der Sinn dieser Baupläne ist, dass der Code nicht mehr auf einer Stelle überwiegt. Jeder Bauplan hat seine Verantwortung und muss sich nicht um anderes kümmern. Damit erhält man eine modulare Struktur und man kann diese Module leicht in andere Projekte integrieren, die Wiederverwertbarkeit steigt.
Nachteil an der OOP Geschichte ist, dass die Planung viel Zeit braucht und da mehrere Objekte miteinander in Beziehung stehen der Code sogar langsamer ausführen kann als Prozeduraler Code. Mit jeder Klasse erhöht sich auch der Speicherverbrauch.
Ich will jetzt nicht sagen, dass OOP schlecht ist, nein, im Gegenteil, es vereinfacht den Prozess der Entwicklung, jedoch muss man sich sehr lang in dieses Thema einarbeiten. Natürlich wäre OOP eine gute Gelegenheit das früh zu lernen, aber vorher sollte man sich doch zuerst auf die Sprache konzentrieren und von ihr Gebrauch zu machen, ausprobieren, lernen, erforschen.
Und dann, wenn ihr an dem Punkt gekommen seid ein Gefühl dafür zu bekommen und einen Plan für euer Konzept zu haben, könnt ihr euch an OOP ranwagen.