StringBuilder 사용 이유

String s1 = "Hello ";

String s2 = "World!";

s1 += s2;

코드를 위와같이 짠 후 s1을 출력해 보면 "Hello World!"가 나올것이다.

 

그런데 자바에서 String은 객체이기 때문에 s1, s2에서 객체가 생성되는것은 물론

String 객체끼리의 + 연산은 메모리의 할당과 해제가 일어난다.

계속해서 이러한 연산을 한다면 매우 비효율적이므로 이를 대체하기 위해 StringBuilder를 사용한다.

 

 

StringBuilder 사용법

StringBuilder sb = new StringBuilder();
sb.append("Hello ");
sb.append("World!");
System.out.println(sb);
<<<결과값>>>
Hello World!

1. 위의 코드처럼 StringBuilder객체 sb를 생성한다.

2. StringBuilder의 멤버메소드인 append()를 사용해 계속해서 더한다.

3. 출력한다.

4. 여기서 sb.toString()을 하지 않아도 출력 결과가 나오는 이유는 StringBuilder자체에 toString이 Overriding(오버라이딩) 되어있기 때문이다.

Posted by Jyoel :