본문 바로가기

프로그래밍

자바 StringBuilder 사용법 및 사용하는 이유

StringBuilder 사용법 및 사용하는 이유

자바에서 문자열하면 자연스럽게 String이 떠오른다.

String은 소위 불변(immutable)객체라고 한다. String str1 = "abc";, String str2 = "def"; 2개의 String객체가 있을 때, 만약 str1 + str2;와 같은 연산을 하게 되면 새로운 String을 생성한다.

즉, String객체와 String객체를 더하는(+)행위는 메모리 할당과 메모리 해제를 발생시키며 더하는 연산이 많아진다면 성능적으로 좋지 않다.

 

그래서 나온 것이 StringBuilder이다.

이름만 봐도 String 잘 만들게(?) 생겼다.

StringBuilder는 String과 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 속도도 빠르며 상대적으로 부하가 적다.

따라서 긴 문자열을 더하는 상황이 발생할 경우 StringBuilder를 적극적으로 사용하면 되겠다.

사용법

StringBuilder sb = new StringBuilder();
sb.append("ABC");
sb.append("DEF");
System.out.println(sb.toString());

StringBuilder에는 append()가 있는데, 이는 문자열을 더하는 역할을 한다.

만들어진 문자열을 출력하기 위해서는 StringBuilder의 인스턴스인 sbtoString()을 부르자.

예제이므로 짧은 문자열을 더했지만, 빈번하게 긴 문자열들을 더해야 할 경우 효과적이다.