I am reading through Analytic Combinatorics by Flajolet and Sedgewick and I feel pretty confident with my understanding of classes and how they relate to EGFs. However recently I encountered the concept of combinatorial species, and it seems like both concepts essentially do the same thing in relation to EGFs. I'm wondering what is the relation between combinatorial species and combinatorial classes?
For example I would like to know if there is some big difference I'm missing, if there is some advantage to using one over the other, or if one is more general than the other. If both concepts are analogous, then are they just different ways to formalize the same thing, or is there some historical reason why they were both developed?
Thank you for helping my understanding.
Edit: By classes I mean labelled classes. Sorry for the unclear wording.
Combinatorial classes are for unlabeled objects, while combinatorial species are for labeled objects. The two methods are not analogous. You say that "classes" are associated with EGF's, and I object to that phrasing because it is unclear. Normally, combinatorial classes are naturally associated with OGF's. However, labelled classes are a special type of class, and it is true that every labelled class is associated with an EGF.
Combinatorial classes
Combinatorial classes were covered in chapter 1 of Flajolet and Sedgewick. Combinatorial classes associate, to each integer $n$, a finite set, $A_n$, which is thought of as the set of objects with size $n$. There are operations for building new classes, including sum, product, SEQ, etc. Importantly, each combinatorial class is associated with an ordinary generating function, in a way such that the operations on classes play corresponding to alebraic operations on the associated OGF's.
Combinatorial species
Combinatorial species are essentially the same thing as labelled classes, which were covered in chapter 2 of Flajolet and Sedgewick.
Flajolet and Sedgewick define a labelled class to be a combinatorial class consisting of "well-labeled objects", meaning that each $A_n$ is a set of graphs on the vertex set $\{1,\dots,n\}$. The authors define operations on these labelled classes, such as the labeled product, in a complicated way.
Combinatorial species are defined in a more general, but equivalent, way. A combinatorial species, $\mathcal C$, associates to every set, $A$, another set, $\mathcal C_A$. For example, the species of permutations associates each set $A$ to the set of bijections from $A$ to itself. The only requirements are that, for all sets $A$ and $B$, $|A|=|B|\implies |\mathcal C_A|=|\mathcal C_B|$, and $A\neq B\implies \mathcal C_A\cap \mathcal C_B=\varnothing$. You can also describe this as a functor from the category ${\bf Set}_{\cong}$ to itself, where ${\bf Set}_{\cong}$ is the category of sets where the only morphisms are bijections. This also has a labelled product (and all the same other operations). Namely, given combinatorial species $\mathcal A$ and $\mathcal B$, we say that $\mathcal C=\mathcal A\star \mathcal B$ if, for all sets $Z$, $$\mathcal C_Z=\bigcup_{X,Y\,:\,X\sqcup Y=Z}\mathcal A_X \times \mathcal B_Y$$
Importantly, it is labelled structures and combinatorial species which are naturally associated with exponential generating functions, such that the labelled product of two labelled structures (or species) corresponds the algebraic product of the EGF's.