String 클래스
String은 내부의 문자열을 수정할 수 없다. StringBuffer()메소드는 내부의 문자를 대치하는 것이 아니라, 대치된 새로운 문자열을 리턴한다.
문자열을 결합하는 + 연산을 많이 사용하면 할수록 그만큼 String 객체의 수가 ㅇ늘어나기 때문에 프로그램 성능을 느리게 한다. 문자열을 변경하는 작업이 많을 경우 StringBuffer, StringBuilder클래스를 사용하는것이 좋다. 이 두 클래스는 내부 버퍼에 문자열을 저장해두고 그 안에서 추가, 수정, 삭제 작업을 할 수 있도록 설계되어 있기 때문이다.
StringBuffer는 멀티 스레드 환경에서 사용할 수 있도록 동기화가 적용되어 있어 스레드에 안전하지만 StringBuilder는 단일 스레드 환경에서만 사용하도록 설계되어 있다.