String부터 StringBuffer, StringBuilder까지 자바는 문자열을 다루기 위한 3개의 클래스를 제공한다. 개발 초기에는 아무런 생각 없이 String에 값을 계속 더하는 행위를 하지만, 이 방법이 잘못 되었다는 것은 개발이 어느정도 능숙해지고부터이다. String은 불변적인 객체이다보니 동적으로 문자열이 바뀌는 것에 취약하다. 그래서 새로운 문자열을 더할 경우 기존 문자열을 삭제하고 다시 두개의 문자열을 합친 후 String 변수에 보내는데 이때 garbage collector가 발생하게 된다. 최근의 자바 버전에서는 내부적으로 String에서도 문자열을 합칠 때 강제적으로 StringBuilder로 변하게 되는데 아무튼 적당한 문자열을 String에 하는 것은 큰 문제가 되지 않지만..