반복문 내에 String 변수 선언하는 것은 성능에 나쁜 영향을 끼친다
라는 얘기를 어디선가 들은 적이 있습니다.
아마 반복문 내부에 변수를 선언하면 매 번 변수를 초기화하지 않을까 라는 생각에 이런 얘기를 하는 것 같습니다.
사실 뭐 큰 상관은 없지만 단순히 궁금해서 찾아보았습니다.
결론부터 얘기하면 컴파일러가 자동으로 최적화해줘서 동일한 바이트코드를 갖습니다.
참고 1 : http://livingtao.blogspot.com/2007/05/myth-defining-loop-variables-inside.html
참고 2 : https://stackoverflow.com/questions/8803674/declaring-variables-inside-or-outside-of-a-loop
변수 scope 는 작을 수록 좋으니 반복문 내부에 선언하는 게 좋다는 의견과 대부분의 언어가 반복문 외부에서 변수를 선언하는 것을 선호하므로 나중에 이를 혼동하는 것을 방지하기 위해 외부에 선언하는 게 좋다는 의견이 인상적이었습니다.
반응형
'Java' 카테고리의 다른 글
[Java] cannot access the classes in the package (0) | 2021.03.17 |
---|---|
[JAVA] JVM (0) | 2021.02.07 |
[Java] 람다 (0) | 2020.07.12 |
[Java] String.split(".") (0) | 2020.07.11 |
[Java] List 중복 제거하기 (0) | 2020.07.09 |