작성
·
419
0
UIManager 클래스를 만들면서 무심결에 Managers를 상속 받았더니 Managers의 UIManager ui = new UIManager(); 부분에서 UIManager를 불러오고, 여기까지는 평범한데
UIManager 부분이 끝나면 UIManager _ui = new UIManager(); 의 다음 진행이 아닌 Managers의 초기 코드로 넘어가 다시 UIManager_ui = new UIManager(); 를 실행해버려 무한 재귀가 일어나더군요. 결국 스택 오버플로우 오류가 일어났고, 상속의 개념이 부족해서인지 위 진행이 이해가 잘 되지 않습니다.
어떤 개념이 있어 저렇게 진행되는 것인지 알려주시면 감사하겠습니다.
(질문이 이상한 것 같아 수정 후 재업했습니다)
답변 1
2
UIManager가 Managers를 상속 받으면
UIManager의 생성자를 호출하고 Managers의 생성자를 호출하게 되는데,
Managers의 생성자에서는 또 UIManager를 만드는 코드가 있을 경우
뫼비우스의 띠처럼 끝나지 않고 A->B->A->B 생성하는 상황으로 보입니다.
와 감사합니다.. 그런 개념이 있었군요. 이해했습니다.