Java

[JAVA] 반복문에서 String 변수의 선언 위치

📝 작성 : 2020.08.19  ⏱ 수정 : 
728x90

반복문 내에 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