In ZFC with class terms a class is merely a unary predicate $\varphi$ of the language which we then write as
$$\{X\mid\varphi(X)\}$$
which only suggests that we have built a collection out of these objects. We write $Y\in\{X\mid \varphi(X)\}$ for $\varphi(Y)$. Further we say that such a class (term) $\mathcal C$ is a set if
$$\exists X\forall Y[Y\in X\leftrightarrow Y\in\mathcal C].$$
In NBG and similar set theories (which build on classes instead of sets) every set is also a class. But is this true for this ZFC approach? For me it seems that a class is just a formula. And there are sets that I cannot fully describe using such a formula, e.g. a set given to me by the axiom of choice.
Are sets and classes in ZFC (with class terms) just different concept, each one not a "sub-concept" of the other?
After Asaf's answer:
I do not feel very well when writing $\{X\mid X\in A\}$ for arbitrary sets $A$ because for me $A$ is not a symbol of the language. However, when my set $A$ is definable by a predicate $\varphi$ with
$$\mathrm{ZFC}\vdash \exists A \varphi(A) \quad\text{ and }\quad \mathrm{ZFC}\vdash\varphi(A)\wedge \varphi(B)\to A=B,$$
then I could write $\{X\mid \forall A[\varphi(A)\to X\in A]\}$, and this would feel okay. But my problem are the sets for which there is no such $\varphi$. I do not know how I can include such an abbreviating notion (like $\{X\mid X\in A\}$) into a formal proof without feeling not quite sure what I am actually doing.