The Free On-line Dictionary of Computing (30 December 2018):
separate compilation
    A feature of most modern programming languages
   that allows each program module to be compiled on its own to
   produce an object file which the linker can later combine
   with other object files and libraries to produce the final
   executable.  Separate compilation avoids processing all the
   source code every time the program is built, thus saving
   development time.  The object files are designed to require
   minimal processing at link time.  They can also be collected
   together into libraries and distributed commercially without
   giving away source code (though they can be disassembled).
   Examples of the output of separate compilation are C object
   files (extension ".o") and Java ".class" files.
   (2005-02-19)