❌ Singleton 사용을 그만두세요. 필요 없으며 (조용히 당신의 코드를 해치고 있습니다)

발행: (2026년 1월 16일 오후 03:07 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

싱글톤이 하는 일

싱글톤은 클래스가 하나의 인스턴스만 가지도록 보장하고, 그 인스턴스에 전역적으로 접근할 수 있게 합니다.

Logger.getInstance().log("Hello");

하나의 인스턴스. 전역 접근.

실제 문제점

싱글톤은 단순히 전역 상태일 뿐입니다.
코드 어디서든 접근하고, 변경하고, 명시적이지 않게 의존할 수 있습니다. 이로 인해 시스템을 이해하고, 테스트하고, 변경하기가 어려워집니다.

시니어 엔지니어가 피하는 이유

싱글톤은 종종 다음과 같은 문제를 일으킵니다:

  • 숨겨진 의존성
  • 어려운 단위 테스트
  • 요청 간 상태 누수
  • 클래스 간 강한 결합

초기에 편리해 보이지만 나중에 기술 부채가 됩니다.

더 나은 접근법

전역 객체에 접근하는 대신, 의존성을 명시적으로 전달하세요.
이렇게 하면 의존성이 눈에 보이고, 코드를 테스트하기 쉬우며, 시스템이 더 유연해집니다.

간단한 규칙

의존성을 전달하는 것이 번거롭게 느껴진다면, 해결책은 더 좋은 설계일 뿐이며—싱글톤이 아닙니다.

Back to Blog

관련 글

더 보기 »