자바를 처음 배울 때 "String은 불변(Immutable) 객체라 + 연산자로 문자열을 더하면 메모리 낭비가 심하니 무조건 StringBuilder를 쓰세요!"라는 말을 많이 들어보셨을 거예요.저 역시 신입 시절에는 이 규칙에 강박을 가져서, 가벼운 문자열 두세 개를 합칠 때도 코드를 길게 늘여가며 StringBuilder를 썼던 기억이 납니다. 하지만 실무에서 코드를 까보고 여러 레퍼런스를 찾아보면서, 자바 컴파일러가 JDK 버전에 따라 이 + 연산을 꽤 똑똑하게 최적화해주고 있다는 사실을 알게 되었어요.오늘은 String과 StringBuilder의 근본적인 차이를 짚어보고, JDK 버전별로 문자열 더하기 연산이 내부적으로 어떻게 동작하는지 저의 경험과 함께 공유해 드릴게요!1. String과 S..