자바에서 String 객체는 변경 불가능하다. 한 번 생성되면 내용을 바꿀 수 없단 뜻이다.
따라서 하나의 문자열을 다른 문자열과 연결하면 새 문자열이 생성되고, 이전 문자열은 가비지 컬렉터로 들어간다.
String은 변경 불가능한 문자열을 생성하지만 StringBuilder는 변경 가능한 문자열을 만들어 주기 때문에,
String을 합치는 작업 시 하나의 대안이 될 수 있다.
public class Test {
public static void main(String[] args) {
String s = "*"; // *
s += "*"; // **
s += "*"; // ***
System.out.println(s); // *** 이지만 *를 더하는 과정에 객체가 생성되어 쓸데없는 메모리 낭비가 된다.
StringBuilder sb = new StringBuilder(); // 메모리 낭비 x
sb.append("*");
sb.append("*");
sb.append("*");
System.out.println(sb); // ***
}
}