작성
·
469
답변 1
0
init()
메소드는 인스턴스 생성 시 초기화를 담당하는 메소드로 보통 생성자(constructor)에서 수행합니다. 하지만, 싱글톤 패턴에서는 생성자를 private
으로 선언하므로 초기화 코드를 다른 방식으로 처리해야 합니다.
그래서 instance
프로퍼티의 getter 메소드에서 초기화 코드를 호출하는 것입니다. 만약 init()
을 호출하지 않고, return s_instance;
만 작성한다면, s_instance
가 아직 초기화되지 않았을 때 null
을 반환하기 때문에 오류가 발생할 수 있습니다.
따라서 init()
메소드를 호출하여 s_instance
를 초기화하고, 초기화된 s_instance
를 반환하도록 작성하는 것이 좋습니다. 이렇게 하면 s_instance
를 호출할 때마다 초기화 코드를 작성할 필요 없이, 항상 초기화된 인스턴스를 가져올 수 있습니다.