A section of code that is loaded into memory during the execution of a program, overwriting what was previously there. The loading of an overlay is under the explicit control of the programmer, and should not be confused with paging. In general several overlays are loaded into the same area of memory, ‘overlaying’ the code already residing in that part of memory. Overlays can be thought of as a form of voluntary memory management.