@ogrumm [[open this post on types to get the tex rendered]]
classes are absolutely types! there is a family of theories called system $F_{<:}$
that specifically deals with subtyping, since in most non-class-based languages it doesn't have such a central role. there was a new one in this year's popl in fact to formalise a new scala feature
as far as books to get started the default recommendation is types and programming languages by ben pierce. but i will think about it a bit and let you know if i come up with something less textbooky too