En mathématiques, la notion de classe généralise celle d'ensemble. Les deux termes sont parfois employés comme synonymes, mais la théorie des ensembles distingue ces deux notions. Un ensemble peut être vu comme une collection d'objets, mais aussi comme un objet mathématique, qui en particulier peut lui-même appartenir à un autre ensemble. Ce n'est pas forcément le cas d'une classe, qui est une collection d'objets que l'on peut définir, dont on peut donc parler, mais qui ne forme pas nécessairement un ensemble. Quand une classe n'est pas un ensemble, elle est qualifiée de classe propre. Elle ne peut alors être élément d'une classe (ni, a fortiori, d'un ensemble).
Les paradoxes de la théorie des ensembles, comme le paradoxe de Russell, montrent la nécessité d'une telle distinction. Ainsi la propriété « ne pas appartenir à soi-même » (x ∉ x) définit une classe mais pas un ensemble. L'existence d'un tel ensemble mènerait à une contradiction.
À l'aube du XXe siècle, certains logiciens et mathématiciens comme Ernst Schröder, Giuseppe Peano ou Bertrand Russell emploient le terme « classe » la plupart du temps pour ce qui est appelé aujourd'hui « ensemble ». Cet usage perdure dans certains cas particuliers. Ainsi pour la notion usuelle de relation (dont le graphe est un ensemble de couples), une classe d'équivalence est un ensemble. Si on élargit aux classes propres, on ne peut plus parler d'ensemble quotient. Parfois les deux termes sont employés pour améliorer la clarté d'expression : dans certains contextes, on peut préférer parler de classe d'ensembles plutôt que d’ensemble d'ensembles sans y attacher un sens particulier.
Pour fixer le vocabulaire, on va parler dans la suite de collection pour désigner un ensemble au sens intuitif, y compris dans un modèle de la théorie des ensembles — c’est une terminologie souvent utilisée, mais non universelle. On sait, depuis la découverte autour de 1900 des paradoxes de la théorie des ensembles, dont le plus simple est le paradoxe de Russell, que certaines collections d’objets, dont on peut parler dans le langage de la théorie, comme la collection des ensembles qui n’appartiennent pas à eux-mêmes, ne peuvent être des ensembles, sous peine de voir la théorie devenir contradictoire. Pour y remédier, Zermelo choisit de ne conserver que des cas particuliers de l’axiome de compréhension non restreint, qui dit que toute propriété — par exemple : « ne pas appartenir à soi même » — définit un ensemble. En théorie des ensembles, ces collections d’objets, qui sont définies par une propriété de leurs éléments, mais qui ne sont pas forcément des ensembles au sens de la théorie, sont appelées classes. Les classes qui ne sont pas des ensembles sont appelées classes propres. On peut voir celles-ci comme des collections que l’on peut décrire dans la théorie, mais qui sont trop « grosses » pour être des ensembles.
Dans une théorie des ensembles comme ZFC, les classes sont des collections qui sont identifiées par une propriété de leurs éléments exprimée dans le langage de cette théorie. On peut donc les identifier aux prédicats du langage. Il est tout de même parfois plus intuitif de parler de classe, avec le langage ensembliste afférent (intersection, réunion, etc.), que de parler de prédicat. Deux prédicats désignent la même classe si et seulement s'ils sont équivalents : c'est l'égalité extensionnelle. Elle coïncide bien, dans le cas des ensembles, avec l'égalité définie sur ceux-ci par l'axiome d'extensionnalité. On peut manipuler les classes avec les opérations correspondant aux opérations logiques usuelles sur les prédicats : opérations booléennes, disjonction — donc réunion —, conjonction — donc [intersection et produit cartésien —, négation — donc passage au complémentaire —, quantificateurs — donc en particulier projection —, etc. Cependant les classes ne sont pas des objets de la théorie. Il n’est donc pas question de classe de classes, et encore moins d’ensemble de classes !
L’usage est d’utiliser des lettres majuscules pour les classes. On peut tout à fait conserver, pour noter les classes, les notations usuelles pour les prédicats, ou, quand on sait ce que l’on fait, étendre les notations ensemblistes usuelles. L’appartenance à une classe « x appartient à la classe V » se note, en conservant la forme des prédicats, V(x), ou, par abus de notation, en étendant l’usage du symbole ∈, x ∈ V. Dans ce dernier cas un nom de classe ne peut figurer qu’à droite du signe d’appartenance ; il s’agit d’une abréviation pour V(x) — en notant de la même façon une classe et un prédicat qui la définit.
De la même façon, pour les opérations ensemblistes usuelles, on peut utiliser les connecteurs logiques ou étendre l’usage des notations usuelles. Par exemple, pour l’intersection de deux classes V et W, on peut écrire V(x) ∧ W(x) ou V ∩ W.
Toujours dans le même esprit on écrit souvent V = W pour indiquer que les deux classes V et W sont égales ; cela se traduit en langage ensembliste par l’équivalence logique ∀x [V(x) ↔ W(x)]. Ainsi l’égalité de l’ensemble a et de la classe V peut se noter a = V ; c’est une abréviation pour l’énoncé ∀x [x ∈ a ↔ V(x)]. Alors, V étant fixé, le prédicat y = V définit lui même une classe, qui est la classe vide dès que V est une classe propre — définie par exemple par x ∉ x (voir ci–dessous).
On se place dans une théorie des ensembles comme Z, ZF ou ZFC. Évidemment, grâce au prédicat d’appartenance, tout ensemble a « est » une classe : celle-ci est définie par le prédicat x ∈ a. Les paradoxes classiques de la théorie des ensembles fournissent des classes propres.
On en déduit que d’autres classes sont des classes propres.