In this talk we will give the definition of a sheaf and show how one could view sheaves as a category. After defining Grothendieck topologies, we will restate the sheaf condition in a more general context. Finally, we will introduce the notion of an elementary topos, of which we will give two examples: The category of sets and the category of sheaves, the latter being the main focus.