A transfer matrix method is developed for optical calculations of non-interacting graphene layers. Within the framework of this method, optical properties such as reflection, transmission and absorption for single-, double- and multi-layer graphene are studied. We also apply the method to structures consisting of periodically arranged graphene layers, revealing well-defined photonic band structures and even photonic bandgaps. Finally, we discuss graphene plasmons and introduce a simple way to tune the plasmon dispersion.