[Java] String vs StringBuffer vs StringBuilder

• String은 불변의 속성을 가지며, 문자열 수정 시 새로운 인스턴스가 생성되어 메모리 부족으로 성능에 영향을 줄 수 있다. 멀티쓰레드 환경에서 안전하다.
• StringBuffer는 가변의 속성을 가지며, 멀티쓰레드 환경에서 안전하다. 문자열 연산이 많을 경우 사용하면 좋다.
• StringBuilder는 가변의 속성을 가지며, 동기화를 지원하지 않는다. 단일쓰레드에서의 성능이 뛰어나며, 문자열 연산이 많고 동기화를 고려하지 않아도 되는 경우 사용하면 좋다.
• 문자열 연산이 적고 멀티쓰레드 환경일 경우 String, 문자열 연산이 많고 멀티쓰레드 환경일 경우 StringBuffer, 문자열 연산이 많고 단일쓰레드이거나 동기화를 고려하지 않아도 되는 경우 StringBuilder를 사용하는 것이 좋다.

북마크
공유하기
신고하기