자바스크립트에서의 순환 참조 문제
🎯 이 문서를 읽고 난 후의 상태
- 순환 참조 문제가 무엇인지 안다.
- 순환 참조 문제를 해결하는 방법을 안다.
- 순환 참조 문제를 예방하는 방법을 안다.
😭 문제 상황
위의 글에서 확인할 수 있는데, 스토리북에서 스토리를 작성하다가 순환 참조 문제를 마주하게 되었다.
평소 순환 참조 문제라는 키워드는 들어봤는데, 정작 제대로 알지 못하고 있다는 생각이 들었다.
그래서 이번 기회에 순환 참조 문제가 무엇인지 확인하고, 이를 해결하는 방법을 알아보려 한다.
🤔 순환 참조 문제란?
순환 참조(Circular Dependencies)
란 두 개 이상의 모듈이 서로를 직접 또는 간접적으로 참조하는 상황을 의미한다.
위의 예시처럼, ModuleA
와 ModuleB
가 서로를 참조하는 상황이 발생하면, 이를 순환 참조 문제라고 한다.
이러한 상황이 발생하면, 모듈이 무한히 서로를 참조하게 되어, 프로그램이 무한 루프에 빠지는 상황이 발생할 수 있으며, 그렇기 때문에 문제
라고 분류한다.
보면 알겠지만, 의외로 소프트웨어 개발에서 흔히 발생하는 문제이며, 특히 모듈 간의 의존성이 복잡해지면 복잡해질 수록 발생할 확률이 높아진다.
코드를 통해 좀 더 살펴보자.