1. 필요한 이유String은 불변(immutable) 객체다. answer += "1"처럼 문자열을 더하면, 사실은 기존 값을 복사해서 새로운 String 객체를 만드는 거다.String answer = "";for (int i = 0; i 이걸 반복하면 매번 점점 길어지는 문자열을 복사하느라 전체 시간이 O(n²)까지 늘어날 수 있다. StringBuilder는 가변(mutable) 객체라서, 내부 버퍼에 직접 추가만 한다.복사가 필요 없어서 훨씬 빠르다.2. 사용하는 경우문자열을 반복적으로 이어 붙여야 할 때 (for문, while문 안에서 문자열 누적)문자열을 거꾸로 뒤집어야 할 때문자열의 특정 부분을 수정/삭제/삽입해야 할 때최종적으로 String 하나를 "조립"해서 반환해야 할 때3. 핵심 ..