A User Defined Function (UDF) is a custom programming function that allows users to reuse processes without having to rewrite code. For example, a complex calculation can be programmed using SQL and stored as a UDF. When this calculation needs to be used in the future on a different set of data, rather than rewriting the function, the user can simply call the UDF. This allows programmers to work more efficiently by creating and referencing custom procedures rather than rewriting them each time they need to be used. UDFs also allow code to be executed faster by caching and reusing procedures rather than recompiling them on each use.