시작하기무료로 시작하기

Singleton 패턴 구현하기

애플리케이션에서 여러 컴포넌트가 로깅 구성을 관리해야 합니다. 현재는 각 컴포넌트가 자체 LogManager를 생성해 구성 불일치가 발생하고 있어요. 모든 컴포넌트가 동일한 로깅 구성을 공유하도록 singleton 패턴 구현을 완성하세요.

이 연습은 강의의 일부입니다

Java 코드 최적화

강의 보기

연습 안내

  • LogManager 타입의 static 변수 instance를 추가하세요.
  • 생성자는 클래스 내부에서만 접근 가능하도록 하세요.
  • 현재 값이 null일 때에만 LogManager 인스턴스를 생성하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

public class Main {
    public static void main(String[] args) {}
}

class LogManager {
	// Add static instance variable to hold the instance
    private static ____ ____;
    private Map logConfig;
    
    // Make constructor accessible only from within the class
    ___ LogManager() {
        logConfig = new HashMap<>();
    }
    
    public static LogManager getInstance() {
    	// Only create if instance is currently null
        if (____ ____ ____) {
            instance = new LogManager();
        }
        return instance;
    }
}
코드 편집 및 실행