인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김민지님의 프로필 이미지
김민지

작성한 질문수

스프링 핵심 원리 - 기본편

싱글톤 컨테이너

싱글톤 객체의 문제점을 해결한 싱글톤 컨테이너

작성

·

191

0

결국 싱글톤 컨테아너(스프링컨테이너)는

싱글톤 객체와 같이 1개의 객체를 공유하는 형식입니다

그런데 싱글톤 컨테이너는 싱글톤 객체의 단점을 가지지 않습니다. 1. 이게 어떻게 가능한건가요?

  • 싱글톤 패턴을 구현하는 코드 자체가 많이 들어간다. -> 스프링빈으로 등록하면 코드를 추가하지 않아도 되니 이 단점은 없어집니다
  • 내부 속성을 변경하거나 초기화 하기 어렵다. -> 2. public으로 해당 객체를 얻어올 수 있으니 내부 속성 변경할 수 있지않나요? 초기화는 안되지만요..
  • private 생성자로 자식 클래스를 만들기 어렵다. -> 3. 싱글톤 컨테이너는 private생성자를 사용하지 않는건가요?

    4. 
  • 싱글톤 객체를사용하면 DIP를 위반해서 싱글톤 객체말고 싱글톤 컨테이너를 사용한대요.
  • 하지만 APPCONFIG를 사용하면 DIP를 위반하는것을 피할 수 있거든요?
  • 그럼에도 불구하고 싱글톤 객체는 단점이 있는 것 같은데..어떤점이 문제인건가요?

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 김민지님

질문이 잘못된 것 같아요.

다음으로 비교하셔야 합니다.

싱글톤 코드를 직접 생성하는 것 vs 싱글톤 컨테이너를 통해서 싱글톤 코드를 생성하는 것

관련해서 더 자세한 내용은 강의 내용을 복습해주세요^^

감사합니다.

김민지님의 프로필 이미지
김민지

작성한 질문수

질문하기