출처 :
1. https://docs.oracle.com/javase/tutorial/essential/concurrency/guardmeth.html
2.
https://stackoverflow.com/questions/37026/java-notify-vs-notifyall-all-over-again
3.
https://stackoverflow.com/questions/7842265/difference-between-synchronized-block-with-wait-notify-and-without-them
4.
https://happy-coding-day.tistory.com/8#:~:text=Monitor(%EB%AA%A8%EB%8B%88%ED%84%B0)%EC%9D%98%20%EA%B0%9C%EB%85%90&text=%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C%EB%8A%94%20synchronized%20%EB%A9%94%EC%86%8C%EB%93%9C%EA%B0%80,%EC%9E%91%EC%97%85%EC%9D%84%20%EC%88%98%ED%96%89%ED%95%98%EA%B2%8C%20%EB%90%9C%EB%8B%A4.