String String a = "Hi"; a = a += "Bye"; JAVA는 문자열에 대해서 편의상 "+" 연산자를 지원하는데 String 의 경우 위와 같이 a를 선언한뒤 a에 + 연산자를 사용할 경우 힙 메모리에 새로운 문자열("HiBye")을 생성후 스택 영역에 저장된 변수 a 에 대한 reference를 변환하는 방식을 사용한다. 따라서 메모리상 불필요한 문자열("Hi")이 남게 된다. 문자열을 변환시 Immutable하다. StringBuilder StringBuilder a = new StringBuilder("Hi"); a.append("Bye"); StringBuilder의 경우 기존에 선언된 문자열에 추가적인 문자열을 append를 통해서 추가하게 된다. 기존의 a가 가지고 있던 S..