[JAVA] String vs StringBuilder vs StringBuffer 비교 정리 (왜 문자열을 다루는 클래스가 3개나 있을까?)
·
Language/Java
자바를 처음 공부할 때 가장 먼저 마주치는 혼란 중 하나가 바로 문자열 처리입니다. "그냥 String 쓰면 되는 거 아니야?"라고 생각하다가도, 조금만 깊이 들어가면 StringBuilder, StringBuffer 같은 녀석들이 튀어나옵니다. 심지어 면접 단골 질문이기도 하죠. 도대체 왜 자바는 문자열을 다루는 클래스를 3개나 만들어 뒀을까요? 단순히 암기하는 것이 아니라, "메모리 구조와 스레드 안전성(Thread Safety)"이라는 내부 원리를 통해 이들의 존재 이유를 알아봅시다!1. 기본 String 사용 보통 우리는 문자열을 합칠 때 직관적으로 + 연산자를 사용합니다.public class StringExample { public static void main(String[] args)..