Here we will set up some basics of sheaves of sets, and perhaps in the future sheaves with values in an abelian category. Here our sheaves will always be on a topological space, the reader should be aware that there are generalizations of the concept of sheaves. One may generalize from either end, that is one may construct a theory of sheaves on suitable categories, or we can allow the ‘value category’ to change.
Let $X$ be a topological space, and let $T$ be the category of open sets of $X$, whose morphisms are the inclusion morphisms.
A presheaf of sets on $X$ is a contravariant functor from $T^{\mathrm{op}}$ to $\mathrm{Sets}$.
A sheaf of sets on $X$ is a presheaf, we will denote it by $\mathcal{F}: T^{\mathrm{op}} \rightarrow \mathrm{Sets}$, which satisfies that for every open set $U$ and every open covering $\{ U_i\}_{i \in I}$of $U$,
Is an equalizer diagram, where the maps are being induced via $U_i \cap U_j \hookrightarrow U_i \hookrightarrow U$ and $U_k \cap U_i \hookrightarrow U_i \hookrightarrow U$. For an even more categorical flavor, note that this the same as $U_i \times_U U_j \rightarrow U_i \rightarrow U$ and $U_k \times_U U_i \rightarrow U_i \rightarrow U$, so we can rewrite this as
being an equalizer diagram for every open $U$ and open cover $\{ U_i \}_{i \in I}$.
Another method to define a sheaf uses two axioms:
if we have an open cover $\{ U_i \}_{i \in I}$ of $U$, and a $f_i \in \mathcal{F}(U_i)$ with $\mathcal{F}(i_{U_i\cap U_j,U_i})(f_i)=\mathcal{F}(i_{U_i \cap U_j ,U_j})(f_j)$ for each $i,j \in I$ then there is a ‘gluing’ $f \in \mathcal{F}(U)$ where $f_i = \mathcal{F}(i_{U_i,U})(f)$
any such gluing is unique.
Note there is a notion of a monopresheaf which does not satisfy the above diagram being an equalizer diagram, but the left-most map is injective. Equivalently it satisfies axiom 2 above.
Since presheaves are functors, we may simply the category $\mathrm{PSh}$ of presheaves of sets on $X$ to be $\mathrm{PSh}(X) := \mathrm{Sets}^{T^{\mathrm{op}}}$ the functor category from $T^{\mathrm{op}}$. The category $\mathrm{Sh}(X)$ of sheaves of sets on $X$ is defined to be the full subcategory of presheaves containing the sheaves as objects. Since sheaves form a full subcategory of presheaves, we have a natural forgetful functor $\mathrm{I}: \mathrm{Psh}(X) \rightarrow \mathrm{Sh}$
To decategorify: a morphism of presheaves $\phi: \mathcal{F} \rightarrow \mathcal{G}$ is a natural transformation from the functor $\mathcal{F}$ to the functor $\mathcal{G}$, that is a set of morphisms $\phi_U: \mathcal{F}(U) \rightarrow \mathcal{G}(U)$ for each open set $U$ such that for any $i: V \rightarrow U$, $\phi_V \circ \mathcal{F}(i) = \mathcal{G}(i) \circ \phi_U$.
Let $x \in X$ and $\mathscr{F}$ a presheaf of sets on $X$. Define the stalk of $\mathcal{F}$ at $x$ to be $\mathrm{colim}_{U \ni x} \mathcal{F}(U)$.