관련 종류
String
- 불변 상태, 한번 생성되면 할당된 메모리 공간이 변하지 않는다
StringBuffer, StringBuilder
- String과는 다르게 가변 상태
- 문자열 조합을 할때, 가변 상태인 두 클래스를 이용하는 경우가 많음, 이는 기존 공간이 부족하면 버퍼를 늘려 유연하게 동작하기 때문
- 두 클래스의 차이는 동기화 유무인데, StringBuffer 내 메소드들은 Synchronized 키워드가 존재하며, StringBuilder는 동기화를 지원하지 않는다
- 멀티스레드 환경이라면 StringBuffer를 사용하는것이 좋음