[Kotlin] StringBuilder

MariGold·2025년 12월 19일

[Kotlin]문법

목록 보기
5/5

Kotlin의 StringBuilder는 문자열을 효율적으로 생성하고 수정할 수 있는 클래스입니다.
문자열을 자주 변경해야 하는 상황에서 String보다 훨씬 뛰어난 성능을 제공하며, 반복적인 문자열 연결이 필요한 경우 필수적으로 사용됩니다.

StringBuilder는 가변(mutable) 문자열 객체로, 내부 버퍼를 직접 수정하면서 문자열을 다루기 때문에 불필요한 객체 생성을 줄일 수 있습니다.


🚀 StringBuilder란?

StringBuilder는 Kotlin의 가변 문자열 클래스입니다. 일반적인 String은 불변(immutable)이기 때문에 값이 변경될 때마다 새로운 객체가 생성되지만, StringBuilder는 하나의 객체 내부에서 문자열을 계속 수정합니다.

문자열을 반복적으로 누적하는 경우, StringBuilder의 성능 차이가 확실하게 드러납니다.

var result = ""

for (i in 1..5) {
    result += i
}

println(result) // 12345

이 코드는 반복문마다 새로운 String 객체를 생성합니다. String을 사용해 문자열을 이어 붙이면, 매번 새로운 String 객체가 생성되고 기존 객체는 버려집니다.

val sb = StringBuilder()

for (i in 1..5) {
    sb.append(i)
}

println(sb.toString()) // 12345

StringBuilder는 내부 버퍼를 재사용하기 때문에 훨씬 효율적입니다. StringBuilder는 하나의 객체만 유지하면서 문자열을 변경하므로, 객체 생성 비용 감소 및 GC 부담 감소, 그리고 메모리 사용량이 감소합니다.


🎯 결론

StringBuilder는 문자열을 자주 변경하거나 누적해야 하는 상황에서
String보다 훨씬 빠르고 효율적인 선택입니다.

  • 반복문에서 문자열을 누적할 때
  • 로그 메시지, SQL 쿼리, JSON 문자열 생성
  • 성능이 중요한 문자열 처리 로직

이러한 경우에는 String 대신 StringBuilder 사용을 우선적으로 고려하는 것이 좋습니다.

profile
많은 것을 알아가고 싶은 Android 주니어 개발자

0개의 댓글