어제 오늘 내일

[Java StringBuilder] append() – 문자열 이어붙이기 본문

IT/Java

[Java StringBuilder] append() – 문자열 이어붙이기

hi.anna 2025. 9. 20. 02:47

자바에서 문자열을 계속 더할 때 String을 직접 쓰면 매번 새로운 객체가 생성되어 비효율적입니다.
이를 해결하기 위해 사용하는 클래스가 바로 StringBuilder이고, 그중에서도 가장 많이 쓰이는 메서드가 append()입니다.

 

1. append() 기본 사용법

public StringBuilder append(String str)
  • 기존 문자열 뒤에 새로운 문자열을 붙임
  • 반환 타입이 StringBuilder 자신이므로 메서드 체이닝 가능
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");
System.out.println(sb.toString()); 
// 출력: Hello World

👉 String처럼 새로운 객체를 만들지 않고, 내부 버퍼에 문자열을 추가하는 방식이라 성능이 훨씬 효율적입니다.

 

2. 다양한 append() 오버로드

append()는 문자열뿐만 아니라 여러 타입을 지원합니다.

StringBuilder sb = new StringBuilder();

sb.append("Java ");        // 문자열
sb.append(11);             // 정수
sb.append(3.14);           // 실수
sb.append(true);           // 불리언
sb.append('A');            // 문자

System.out.println(sb.toString());
// 출력: Java 113.14trueA

👉 내부적으로 String.valueOf()를 호출하기 때문에 어떤 타입이든 손쉽게 붙일 수 있습니다.

 

3. 메서드 체이닝 활용

반환값이 StringBuilder이므로 여러 번 이어붙일 때 코드가 깔끔해집니다.

StringBuilder sb = new StringBuilder();
sb.append("Java")
  .append(" Programming")
  .append(" Language");

System.out.println(sb.toString());
// 출력: Java Programming Language

👉 가독성이 좋아지고, 중간에 새로운 String 객체를 만들지 않아 성능도 향상됩니다.

 

4. 실전 예제

문자열 반복 출력 만들기

StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++) {
    sb.append("Hello ").append(i).append(" ");
}
System.out.println(sb.toString());
// 출력: Hello 1 Hello 2 Hello 3 Hello 4 Hello 5 

👉 + 연산으로 문자열을 이어붙였다면 매번 새로운 객체가 생겼을 텐데, StringBuilder는 내부 버퍼에서 처리하기 때문에 속도가 훨씬 빠릅니다.

 

5. 정리

  • append()StringBuilder에서 가장 많이 쓰이는 메서드
  • 문자열뿐만 아니라 숫자, 불리언, 문자 등 다양한 타입 지원
  • 반환 타입이 StringBuilder라 메서드 체이닝 가능
  • 문자열을 반복적으로 더해야 하는 상황에서 성능상 큰 이점

👉 문자열을 효율적으로 이어붙이고 싶다면, StringBuilder.append()가 정답!

 

 

반응형
Comments