[proofplan]
Both the irreducible characters and the indicator functions of conjugacy classes are bases of the same complex vector space — the space $\mathcal{C}(G)$ of class functions on $G$. The number of irreducible characters thus equals $\dim \mathcal{C}(G)$, and the number of conjugacy classes also equals $\dim \mathcal{C}(G)$ via the indicator basis. Equating gives the result. The substantive input is the **completeness of irreducible characters** ([Completeness of Characters](/theorems/2424)), which states that the irreducible characters span $\mathcal{C}(G)$; combined with row orthogonality this gives the basis property. The indicator-function basis follows from the partition of $G$ into conjugacy classes and the definition of class functions.
[/proofplan]
[step:Recall the space of class functions and its dimension via the indicator basis]
Recall the **space of class functions**:
\begin{align*}
\mathcal{C}(G) = \{f: G \to \mathbb{C} \mid f(hgh^{-1}) = f(g) \text{ for all } g, h \in G\},
\end{align*}
the complex vector space of functions on $G$ that are constant on conjugacy classes. Let $C_1, \ldots, C_k$ be the conjugacy classes of $G$ (so $G = C_1 \sqcup \cdots \sqcup C_k$, a partition), and let $\delta_i = \mathbb{1}_{C_i} \in \mathcal{C}(G)$ be the indicator function of $C_i$.
Each $\delta_i$ is a class function: if $g \in C_i$ then $hgh^{-1} \in C_i$ as well, so $\delta_i(hgh^{-1}) = 1 = \delta_i(g)$, and similarly for $g \notin C_i$.
The functions $\delta_1, \ldots, \delta_k$ are linearly independent: if $\sum_i c_i \delta_i = 0$ as a function on $G$, then evaluating at any element $g_i \in C_i$ gives $c_i = 0$, since $\delta_i(g_i) = 1$ and $\delta_j(g_i) = 0$ for $j \neq i$.
The functions $\delta_1, \ldots, \delta_k$ span $\mathcal{C}(G)$: for $f \in \mathcal{C}(G)$, the value $f(g)$ depends only on the conjugacy class of $g$, so writing $\alpha_i$ for the constant value of $f$ on $C_i$, we have
\begin{align*}
f = \sum_{i=1}^k \alpha_i \delta_i,
\end{align*}
since both sides agree on every conjugacy class.
Hence $\{\delta_1, \ldots, \delta_k\}$ is a basis of $\mathcal{C}(G)$, and
\begin{align*}
\dim_\mathbb{C} \mathcal{C}(G) = k = \text{(number of conjugacy classes of } G\text{)}.
\end{align*}
[guided]
The space $\mathcal{C}(G)$ contains exactly the functions $G \to \mathbb{C}$ that are constant on conjugacy classes. Such a function is determined by its values on a system of representatives: one value per conjugacy class.
This suggests the indicator functions $\delta_i = \mathbb{1}_{C_i}$ should form a basis. Linear independence follows by evaluation: if $\sum c_i \delta_i = 0$, picking any $g_i \in C_i$ extracts $c_i = 0$. Spanning follows because any class function takes some value $\alpha_i$ on $C_i$, and $f = \sum \alpha_i \delta_i$ recovers $f$ from these values.
So $\dim \mathcal{C}(G) = k$, the number of conjugacy classes. This is purely a count of orbits of $G$ acting on itself by conjugation — a basic group-theoretic invariant.
[/guided]
[/step]
[step:The irreducible characters form a basis of $\mathcal{C}(G)$]
Let $\rho_1, \ldots, \rho_r$ be representatives of the isomorphism classes of irreducible complex representations of $G$, with characters $\chi_1, \ldots, \chi_r$. (We use $r$ for the count, to be identified with $k$ at the end.)
By Property 1 of [Elementary Properties of Characters](/theorems/2421), each $\chi_j$ is a class function. So $\chi_1, \ldots, \chi_r \in \mathcal{C}(G)$.
By the [Row Orthogonality Relations](/theorems/2430), the characters satisfy
\begin{align*}
\langle \chi_i, \chi_j \rangle = \delta_{ij} \quad \text{for } 1 \leq i, j \leq r.
\end{align*}
An orthonormal family in any inner product space is linearly independent. So $\chi_1, \ldots, \chi_r$ are linearly independent in $\mathcal{C}(G)$.
By the spanning part of [Completeness of Characters](/theorems/2424) (Part 2), the irreducible characters span $\mathcal{C}(G)$:
\begin{align*}
\operatorname{span}_\mathbb{C}\{\chi_1, \ldots, \chi_r\} = \mathcal{C}(G).
\end{align*}
Combining linear independence and spanning, $\{\chi_1, \ldots, \chi_r\}$ is a basis of $\mathcal{C}(G)$. Therefore
\begin{align*}
\dim_\mathbb{C} \mathcal{C}(G) = r = \text{(number of irreducible characters of } G\text{)}.
\end{align*}
[guided]
We now identify a second basis of $\mathcal{C}(G)$: the irreducible characters.
That each $\chi_j$ is a class function is Property 1 of [Elementary Properties of Characters](/theorems/2421): characters are constant on conjugacy classes, because traces are conjugation-invariant.
Linear independence follows from [Row Orthogonality](/theorems/2430): the characters satisfy $\langle \chi_i, \chi_j \rangle = \delta_{ij}$, and any orthonormal family is linearly independent. (If $\sum c_j \chi_j = 0$, take the inner product with $\chi_i$ to get $c_i = 0$.)
Spanning is the deep part. This is [Completeness of Characters](/theorems/2424), Part 2: every class function is a $\mathbb{C}$-linear combination of the irreducible characters. The proof of completeness uses the regular representation and orthogonality of *all* matrix coefficients of irreducible representations — it is not a formal consequence of orthogonality alone.
Together, linear independence plus spanning gives a basis of $\mathcal{C}(G)$ consisting of the irreducible characters. So $\dim \mathcal{C}(G) = r$, the number of irreducible characters.
[/guided]
[/step]
[step:Equate the two dimension counts]
Steps 1 and 2 give two expressions for $\dim_\mathbb{C} \mathcal{C}(G)$:
\begin{align*}
\dim_\mathbb{C} \mathcal{C}(G) &= k \quad \text{(by the indicator basis $\{\delta_1, \ldots, \delta_k\}$)}, \\
\dim_\mathbb{C} \mathcal{C}(G) &= r \quad \text{(by the irreducible character basis $\{\chi_1, \ldots, \chi_r\}$)}.
\end{align*}
The dimension of a vector space over $\mathbb{C}$ is well-defined (independent of choice of basis), so $r = k$. The number of irreducible complex characters of $G$ equals the number of conjugacy classes of $G$, as claimed.
[/step]