String, StringBuffer, StringBuilder 비교
1. String, StringBuffer 공통점
2. String, StringBuffer 차이점
1) String

- String 객체는 불변 속성임
- String 객체는 한 번 생성되면 할당 된 공간이 변하지 않는다
- String은 고정되어서 변경이 불가능하기 때문에, 내부 문자열을 수정 할 수 없다
=> 따라서 문자열을 수정 할 때마다 새로운 문자열을 리턴함
=> 문자열 연산이 많은 경우, 성능 저하
2) StringBuffer

- StringBuffer는 가변 속성임
- 객체의 공간이 부족해지면, 버퍼의 크기를 유연하게 늘려줌
- StringBuffer는 문자열 연산 시, 동일 객체 내에서 문자열 수정 가능
3. StringBuffer, StringBuilder 비교
1) StringBuffer
- 동기화 키워드 지원 (synchronized)
=> Thread safe 함
2) StringBuilder
- 동기화 지원 X
=> Thread safe하지 않음