Dobře víš, o co se jedná, ale chceš rozpoutat další flame na téma C++ (Java, C#, Python...) nejsou objektové jazyky, správně je to jedině ve Smalltalku a vy všichni, co nepoužíváte Smalltalk, jste jen pojídači koláčů. Promiň, ale toho se nehodlám účastnit.
Já vím, o co se jedná, ale nevím, co myslíte vy všichni. Takže jednodušeji: Čím se liší gettery/settery od metod (vynechte pojednání o způsobu zápisu, jde mi o funkcionalitu, neboli co to má dělat).
Liší se tím, že zveřejňují vnitřní stav objektu, což je špatně. Ovšem je to ale příjemnév a zjednodušuje to práci, asi jako příkaz GOTO :-)))
Ani goto neni zlo, zle je len jeho nadpouzivanie. Goto maju najviac v zuboch ludia, ktori ho nikdy neboli nuteni pouzivat a nemaju predstavu ako dokaze skutocne doprasit kod. kedysi ked som programoval na 8bity a basic nepoznal procedury ani funkcie, len goto a gosub / return, vsetko bolo globalne, kazdy riadok zacinal cislom (navestie) a príkazom goto sa dalo skocit doslova hocikam, tak z toho vznikali strasny bordel. Ale v dnesnych jazykoch je goto implementovane celkom rozumne da sa pouzivat iba v ramci jednej metody (neda sa vyskocit von z metody alebo skocit do inej metody). Niekedy dokaze tento prikaz dost zrychlit vykonavamy kod. inak aj cyklus a procesura je len vylepsene goto.
Objekt je syntakticky ocukrovana struktura, anemicke objekty aka struktury sa tiez casto hodia, aj ked objektami sa zvyknu nazyvat referencne typy a strukturami value typy, struktury tiez patria k programovaniu ziadna presna hranica medzi objektom a strukturou nie je.
Getter a seter vôbec nemusi sluzit na zmenu jedneho konkrétneho atributu, setter je jednoducho metoda ktora sa tvari ako premenna nemusia sa pisat uvozdovky pise sa rovnitko, a da sa aj overridnut. Je to podobny cukor ako pretazovanie operatorov, alebo indexery, malo by sa to pouzivat tam kde sa to hodi.