[ Java ] StringBuilder 개념 정리

chorok ☘️·2025년 7월 2일

Java 개념

목록 보기
5/7
post-thumbnail

StringBuilder

mutable(가변) 객체
내부 버퍼를 사용하여 문자열을 효율적으로 수정 가능

StringBuilder sb = new StringBuilder("Hello");
sb.append("World");  // 같은 객체 내에서 문자열 수정

🔹 String과의 차이점
String은 immutable(불변) 객체
문자열을 변경하면 새로운 문자열 객체가 생성됨.

String s = "Hello";
s = s + "World";  // 새로운 문자열 객체가 생성됨

📌 주요 메서드

메서드설명
append(String str)문자열 뒤에 덧붙이기
insert(int offset, String str)특정 위치에 삽입
delete(int start, int end)지정된 범위 문자열 삭제
deleteCharAt(int index)특정 인덱스 문자 하나 삭제
replace(int start, int end, String str)범위를 다른 문자열로 대체
reverse()문자열 뒤집기
toString()최종 문자열(String 타입)로 변환

사용 예제

public class Example {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();

        sb.append("Hello");
        sb.append(" ");
        sb.append("World");
		System.out.println(sb.toString());  // 출력: Hello World

        sb.insert(5, ",");
        System.out.println(sb.toString());  // 출력: Hello, World

        sb.reverse();
        System.out.println(sb.toString());  // 출력: dlroW ,olleH
    }
}

📌 언제 사용하나?

반복문에서 문자열을 누적하거나 결합할 때
→ String 대신 StringBuilder를 쓰면 메모리 낭비 없이 훨씬 빠름

📌 StringBuffer와의 차이?

항목StringBuilderStringBuffer
스레드 안전성❌ 비동기 (단일 스레드용)✅ 동기화 (멀티 스레드용)
속도더 빠름상대적으로 느림

대부분의 일반적인 상황에서는 StringBuilder를 사용하면 충분하다!

✅ 요약

  • StringBuilder는 문자열을 효율적으로 수정하기 위한 클래스
  • +연산 대신 사용하면 성능 향상
  • append(), insert(), delete() 등 다양한 메서드 제공
  • 문자열을 많이 다루는 로직(예: 파싱, 문자열 결합)에 적합
profile
백엔드 개발자 chorok's velog

0개의 댓글