Folding
Folding is a way to hide and show text in an emacs buffer, i.e. to do code folding. For example, we can do the same thing than with org-mode but with source code.
You may look at the differences between narrowing and hiding text in Emacs : http://wikemacs.org/index.php/Emacs_Terminology#Narrow_and_widen
Outline-minor-mode
outline is a built in mode to cycle visibility and edit the code structure. You should check it out !
Evil users
evil-mode users also have a built-in solution: use za to toggle visibility, zc (close), zm (close all), zr (open all).