To be honest, I don't care about classes itself. What I do like are the interfaces - which are usually expressed as collection of methods. Classes provide easy grouping of those methods, so you can not only type-safe implement particular methods, but make sure that whole group of methods implement particular contract.
To be honest, this does not require classes per se - Golang manages to have interfaces without classes, Rust has traits.
To be honest, this does not require classes per se - Golang manages to have interfaces without classes, Rust has traits.