\begin{slide}{Automatische Freigabe}

Objekt kann freigegeben werden,
sobald es nicht mehr benutzt wird
(d. h. keine Methoden aufgerufen, keine Attribute gelesen werden,
keine Referenzen auf das Objekt bestehen)

Dieser Zeitpunkt kann bestimmt werden:
\begin{itemize}
\item vom Programmierer (durch Destruktor-Aufruf)

  (fehleranfällig, Bsp: C, C++)
\item vom Laufzeitsystem (durch Zeiger-Analyse)

  ($=$ garbage collection, evtl. teuer, Bsp: Java, Haskell)
\item vom Compiler (durch Programm-Analyse)

  ($=$ \glqq kostenlose\grqq\ garbage collection)
\end{itemize}

\end{slide}
