String은 변경 불가능하다(immutable).
String을 선언하고 나서 다른 값을 새로 할당하게 되면 원래 값은 버려져서 garbage가 된다. String을 변경할 일이 많다면 StringBuffer나 StringBuilder를 사용하면 좋다.
(String끼리 + 연산자를 사용해 더할 경우 내부에서는 StringBuffer나 StringBuilder 클래스를 사용한다.)
StringBuilder : 싱글스레드 환경이나 thread-safety가 필요하지 않은 경우 사용. 더 빠르다.
StringBuffer : thread-safe operations 를 위해 사용
//my_string이라는 string의 3번째 문자를 a로 바꾸려고 할 때
StringBuilder sb=new StringBuilder(my_string);
sb.setCharAt(3,'a');
my_string = sb.toString();
sb.deleteCharAt(index);