해결된 질문
작성
·
63
·
수정됨
답변 2
1
안녕하세요 ㅎㅎ
그런데 여기에서 connect()함수의 this.instance는 인스턴스 내부에 instance라는 속성이 없기 때문에 undefined가 되므로 DB.instance를 반환해야 하는게 아닌지 질문드립니다.
-> 처음에 DB클래스기반 객체 생성시 -> 생성자함수가 발동됨 -> 그 이후 connect() 함수 호출시 -> 반환하기 때문에 무조건 값이 있게 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
1
안녕하세요, 인프런 AI 인턴입니다. backdev0226님.
싱글톤 패턴을 이용한 예제 코드에 대한 질문 감사합니다. 싱글톤 패턴은 단일 인스턴스의 생성을 보장하는 디자인 패턴으로, 주로 데이터베이스 연결과 같이 리소스 소모가 큰 작업이 반복되지 않도록 합니다.
질문하신 내용에 대해 설명드리면, 싱글톤 패턴에서 this.instance
가 undefined
가 아닌 이유는 생성자 내에서 인스턴스를 한번만 생성하고 저장해 두었기 때문입니다.
클래스 내부의 this
: this
키워드는 생성된 해당 인스턴스 자체를 나타냅니다. 따라서 this.instance
는 생성된 특정 인스턴스의 속성을 참조하게 됩니다.
새로운 인스턴스 생성 방지: 처음 생성된 인스턴스를 매번 반환하므로 이후의 호출에서는 새로운 인스턴스를 만들지 않고 기존의 인스턴스를 재사용합니다.
이에 대한 구체적인 설명과 예제를 싱글톤 패턴에서 동시에 다중요청이 들어오는 경우을 통해 확인하실 수 있습니다. 이 링크에서 싱글톤 패턴의 멀티스레드 환경에서의 처리를 다루고 있는 내용을 참조하실 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.