
[Java] StringBuffer vs. StringBuilder
·
Java
우리가 기본적으로 문자열 덧셈을 하는 경우, 다음과 같이 사용할 것이다. String str = "hello"; str += "world"; 문자열을 쉽게 합할 수 있어 간단하지만, 덧셈 연산이 많아지게 되면 Garbage Collection이 발생할 수 있다. Java의 String은 불변 객체(Immutable Object)이기 때문에 덧셈 연산이 수행될 때마다 기존 문자열을 버리고 새로운 문자열을 생성해서 가리키기 때문이다. 따라서 다수의 연산이 필요할 경우, 가변 객체(Mutable Object)를 사용해야 한다. 문자열을 가변적으로 다루는 클래스에는 StringBuffer와 StringBuilder가 있다. 이 클래스들은 모두 추상 메소드인 AbstractStringBuiler를 상속받고 있다...