String은 불변성을 갖는다.
즉, 변하지 않는 문자열을 자주 사용할 경우 String을 사용하는 것이 성능면에서 유리하다.
동기화를 지원하지 않는 반면, 속도면에서 StringBuffer보다 성능이 좋다. 가변성
즉, 단일 스레드 환경과 문자열의 추가, 수정, 삭제 등이 빈번하게 발생하는 경우 StringBuilder를 사용하는 것이 성능면에서 유리하다.
동기화를 지원하여 멀티 스레드 환경에서 안전하게 동작할 수 있다. 가변성
즉, 멀티 스레드 환경과 문자열의 추가, 수정, 삭제 등이 빈번하게 발생하는 경우 StringBuffer를 사용하는 것이 성능면에서 유리하다.