• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

안녕하세요 선생님.

20.06.03 15:50 작성 조회수 111

4

label을 사용하지 않는 이유에 대해 궁금합니다.

찾아보니 중첩된 반복문을 빠져나갈때 유용하게 쓸 것 같은데

검색해 보아도 사용하지 않거나 사용하지 말라는 이야기는 찾기 어렵습니다.

그래서 잘 생각해보아서 내린 결론은 

label을 사용하면

1. 디버그에 문제가 있거나 

2. 내부적으로 성능상 문제가 있는게 아닐까 싶은데 

잘 모르겠습니다 ㅠㅠㅠㅠ

사용하지 않는 이유에 대해 살짝 힌트라도 알려주실 수 있나요??

답변 1

답변을 작성해보세요.

17

현재 실행하는 코드에서 label로 직접 이동하는 것은 goto 문을 사용하는 것과 같습니다. 반복이 끝나면 아래로 내려가게 되므로 코드의 가독성을 확보할 수 있지만, 반복문에서 임의의 곳으로 이동하면 따라가야 하며, 그러다 보면 코드 흐름(프로세스, 처리)이 엉킬 수 있습니다. 함수에서 다른 함수를 호출했을 때, 호출된 함수의 실행이 끝나면 호출한 함수로 돌아옵니다. 이런 형태가 되어야 코드 흐름이 엉키지 않습니다. label은 이런 흐름을 깨뜨리 수 있습니다.

이것은 80년, 90년대 코드 형태로, 이렇게 작성하는 것이 나쁘다는 것을 많은 개발자가 검증하였습니다. 지금은 사용하지 않는 코드 형태입니다.