Separate compilation model
nCompilation unit
nC++ file plus included files (usually header files with declarations)
n
nODR across compilation units
nLinker will complain if we have the same definition in different units because we cannot allocate the memory twice for the same variable (which memory location to use?)