StringBuffer가 왜 동기화 되어 있는지, 그리고 멀티쓰레드 환경에서 왜 안전한지 설명해주세요.StringBuffer와 StringBuilder는 자바에서 가변성(mutable)을 가지는 문자열을 다룰 때 사용하는 클래스입니다. 이 둘의 가장 큰 차이점은 동기화(synchronization) 여부입니다. 이에 대한 자세한 설명과 왜 이러한 차이가 중요한지에 대해 설명해 드리겠습니다.1. StringBuffer와 StringBuilder의 차이점StringBuffer:동기화: StringBuffer는 모든 public 메소드가 synchronized 키워드로 선언되어 있습니다. 이는 여러 스레드가 동시에 StringBuffer 객체에 접근하더라도 데이터의 일관성을 유지할 수 있도록 합니다. 따라서 ..