Development/JVM

    [Java & Kotlin] enum class가 완벽한 싱글톤이라 불리는 이유

    싱글톤 패턴(Singleton Pattern)이란? 싱글톤은 애플리케이션 상 특정 클래스가 최초 한 번만 메모리를 할당하고 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴을 의미한다. 객체 생성 요청이 여러번 발생하더라도 새롭게 메모리를 할당하여 인스턴스를 만드는 것이 아닌 기존에 생성되어 있던 인스턴스를 참조하는 것이다. 싱글톤 패턴을 사용한다면 불필요한 메모리 사용을 줄일 수 있다는 장점이 있다. JVM에서의 싱글톤 JAVA에서 인스턴스를 생성할 때에는 new 키워드와 함께 생성자를 사용한다. 그러므로 클래스를 싱글톤으로 만들려면 외부에서 생성자를 호출할 수 없게 private으로 만들어줘야 한다. // Java public final class SingleTonTest { @NotNull pub..