[proofplan]
We reduce to the Maximum Modulus Principle by considering the difference $h = f - g$. The function $h$ is holomorphic on $\Omega$, continuous on $\overline{\Omega}$, and vanishes on $\partial\Omega$. The Maximum Modulus Principle forces $|h| \equiv 0$ on $\overline{\Omega}$, giving $f = g$ everywhere.
[/proofplan]
[step:Form the difference $h = f - g$ and verify it satisfies the hypotheses of the Maximum Modulus Principle]
Define
\begin{align*}
h: \overline{\Omega} &\to \mathbb{C} \\
z &\mapsto f(z) - g(z).
\end{align*}
Since $f, g \in \mathcal{O}(\Omega)$, their difference $h$ is holomorphic on $\Omega$ (the space $\mathcal{O}(\Omega)$ is closed under linear combinations). Since $f, g \in C(\overline{\Omega})$, their difference $h$ is continuous on $\overline{\Omega}$. Hence $h \in \mathcal{O}(\Omega) \cap C(\overline{\Omega})$.
By hypothesis, $f(z) = g(z)$ for all $z \in \partial\Omega$, so $h(z) = 0$ for all $z \in \partial\Omega$.
[guided]
The idea is to reduce a uniqueness question to a maximum modulus estimate. We have two holomorphic functions that agree on the boundary and want to show they agree everywhere. The natural move is to study their difference: if we can show the difference is identically zero, we are done.
Define
\begin{align*}
h: \overline{\Omega} &\to \mathbb{C} \\
z &\mapsto f(z) - g(z).
\end{align*}
We verify that $h$ has the regularity needed to apply the Maximum Modulus Principle. Since $\mathcal{O}(\Omega)$ is a $\mathbb{C}$-vector space (the sum and scalar multiple of holomorphic functions are holomorphic), $h = f - g \in \mathcal{O}(\Omega)$. Similarly, $C(\overline{\Omega})$ is a vector space, so $h \in C(\overline{\Omega})$. Therefore $h \in \mathcal{O}(\Omega) \cap C(\overline{\Omega})$.
The boundary condition $f = g$ on $\partial\Omega$ translates to $h(z) = 0$ for all $z \in \partial\Omega$, so
\begin{align*}
\max_{z \in \partial\Omega} |h(z)| &= 0.
\end{align*}
[/guided]
[/step]
[step:Apply the Maximum Modulus Principle to conclude $h \equiv 0$ on $\overline{\Omega}$]
The function $h \in \mathcal{O}(\Omega) \cap C(\overline{\Omega})$ and $\Omega$ is a bounded domain, so we may apply the [Estimate via Boundary Supremum](/theorems/3351). For any $z_0 \in \Omega$:
\begin{align*}
|h(z_0)| &\le \max_{z \in \partial\Omega} |h(z)| = 0.
\end{align*}
Hence $h(z_0) = 0$ for every $z_0 \in \Omega$. Since $h$ is continuous on $\overline{\Omega}$ and vanishes on $\Omega$, and $h$ also vanishes on $\partial\Omega$ by hypothesis, we conclude $h(z) = 0$ for all $z \in \overline{\Omega}$. Therefore $f(z) = g(z)$ for all $z \in \overline{\Omega}$.
[guided]
We now apply the [Estimate via Boundary Supremum](/theorems/3351), which states: if $\Omega \subset \mathbb{C}$ is a bounded domain and $h \in \mathcal{O}(\Omega) \cap C(\overline{\Omega})$, then for any $z_0 \in \Omega$,
\begin{align*}
|h(z_0)| &\le \max_{z \in \partial\Omega} |h(z)|.
\end{align*}
We verify the hypotheses: $\Omega$ is a bounded domain (given), and $h \in \mathcal{O}(\Omega) \cap C(\overline{\Omega})$ (established in the previous step). The theorem applies.
Since $h = 0$ on $\partial\Omega$, the right-hand side equals $0$. Therefore $|h(z_0)| \le 0$ for every $z_0 \in \Omega$, which forces $h(z_0) = 0$ for all $z_0 \in \Omega$.
For points on the boundary: $h(z) = 0$ for $z \in \partial\Omega$ by hypothesis. Combining, $h \equiv 0$ on $\Omega \cup \partial\Omega = \overline{\Omega}$, and so $f(z) = g(z)$ for all $z \in \overline{\Omega}$.
Note why boundedness of $\Omega$ matters: the boundary supremum estimate requires $\overline{\Omega}$ to be compact (so that the continuous function $|h|$ attains its maximum on $\overline{\Omega}$). If $\Omega$ were unbounded, this compactness argument would fail, and indeed the conclusion can fail — for example, $f(z) = e^z$ and $g(z) = 0$ are both entire, and on the unbounded domain $\Omega = \{z : \operatorname{Re}(z) < 0\}$ we have $|f(z)| \le 1 = |f(z)|$ on $\partial\Omega = i\mathbb{R}$, but $f \neq g$.
[/guided]
[/step]