프로그래밍/기본기ㆍ자료구조
2021. 1. 30.
String, StringBuilder의 차이
1. String 우리는 일반적으로 문자열을 사용하기 위해 String을 사용한다. String을 사용할 때 아래와 같이 대입, 변경 등을 사용해왔을 것이다. string testString; testString = "10"; testString = "10" + "20"; testString = String.Format("{0},{1}", 10, 20); 그러나 사실 위 방법은 내부적으로 굉장히 비효율적인 구조다. String은 불변 객체에 해당한다. 즉, 한번 생성되면 값이 변경되지 않는다. "위 코드대로라면 분명 값이 바뀌는데!?" 라고 생각하겠지만 내부적으로는 사실 그렇지 않다. String 객체가 생성되면 Constant String Pool 이라는 것에 저장이 된다. 현재 객체에 새로운 문자열을..