Pola Singleton memastikan sebuah class hanya memiliki satu instance dan menyediakan titik akses global ke instance tersebut. Pola ini digunakan ketika tepat satu object harus mengkoordinasikan sesuatu (konfigurasi, connection pool, logger), meskipun juga agak kontroversial.
Apa yang dilakukan Singleton
SINGLETON → guarantee a class has only ONE instance, with global access to it:
→ the class controls its own instantiation (private constructor)
→ returns the SAME instance every time it's requested
→ for: things there should only be ONE of, accessed from many places
