StringBuilder로 문자열 만들기
효율적인 문자열 연결
StringBuilder로 문자열 만들기은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
변경 가능한 문자열 작성기
StringBuilder는 변경 가능한 문자 시퀀스입니다. String과 달리 내용을 기존 위치에서 변경할 수 있으므로 텍스트를 효율적으로 만들 수 있습니다.
StringBuilder 생성하기
빈 작성기를 만들려면 new StringBuilder()를 사용하고, 내용으로 시작하려면 초기 텍스트를 전달하십시오.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
StringBuilder named = new StringBuilder("Hello");
System.out.println("empty length: " + sb.length());
System.out.println("named: " + named);
}
}텍스트 추가하기
append 메서드는 끝에 내용을 추가합니다. 문자열, 숫자, 문자, 불리언 등 다양한 값을 받을 수 있습니다.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("Count: ");
sb.append(5);
sb.append(' ');
sb.append(true);
System.out.println(sb);
}
}메서드 연결
append는 같은 작성기를 반환하므로 하나의 표현식에서 호출을 자연스럽게 연결할 수 있습니다.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("a").append("b").append("c").append(123);
System.out.println(sb);
}
}반복문에서 만들기
이것이 주요 사용 사례입니다. 매번 새 객체를 만들지 않고 반복문 안에서 내용을 추가한 다음, 마지막에 한 번만 변환하십시오.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 10; i++) {
sb.append(i).append(' ');
}
System.out.println(sb.toString().trim());
}
}문자열로 변환하기
수정을 마친 후 toString()을 호출하면 작성기에서 일반적인 불변 String을 얻을 수 있습니다.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("result");
String finalText = sb.toString();
System.out.println(finalText.toUpperCase());
}
}구분 기호로 연결하기
항목 사이에 구분 기호를 추가하고 마지막 항목을 주의해서 처리하면 쉼표로 구분된 목록을 만들 수 있습니다.
public class Main {
public static void main(String[] args) {
String[] names = {"Ann", "Ben", "Cara"};
StringBuilder sb = new StringBuilder();
for (int i = 0; i < names.length; i++) {
sb.append(names[i]);
if (i < names.length - 1) {
sb.append(", ");
}
}
System.out.println(sb);
}
}길이 읽기
length()는 작성기가 현재 보유한 문자의 개수를 알려 줍니다. 내용을 추가할 때마다 값이 갱신됩니다.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("12345");
System.out.println("Length: " + sb.length());
}
}문자에 접근하기
charAt(index)를 사용하면 String에서처럼 위치로 하나의 문자를 읽을 수 있습니다.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Coddy");
System.out.println("First: " + sb.charAt(0));
System.out.println("Last: " + sb.charAt(sb.length() - 1));
}
}capacity와 길이 비교
작성기는 자동으로 커지는 내부 버퍼(capacity)를 유지합니다. 최종 크기를 알고 있다면 초기 capacity를 전달하여 크기 재조정을 줄일 수 있습니다.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder(100);
sb.append("short");
System.out.println("Length: " + sb.length());
System.out.println("Capacity at least: " + (sb.capacity() >= 100));
}
}실용적인 작성기
지금까지 배운 내용을 합치면, 연결된 append 호출과 반복문을 사용하여 작은 보고서 문자열을 효율적으로 만들 수 있습니다.
public class Main {
public static void main(String[] args) {
int[] sales = {100, 250, 75};
StringBuilder report = new StringBuilder("Sales Report\n");
int total = 0;
for (int i = 0; i < sales.length; i++) {
report.append("Day ").append(i + 1).append(": ").append(sales[i]).append('\n');
total += sales[i];
}
report.append("Total: ").append(total);
System.out.println(report);
}
}빠른 확인
반복문에서 StringBuilder가 +를 반복해서 연결하는 것보다 효율적인 이유는 무엇입니까?
복습
StringBuilder로 문자열을 만드는 방법을 배웠습니다:
- 변경 가능한 문자 시퀀스입니다
append는 내용을 추가하고 연결을 지원합니다- 반복문에서 텍스트를 만들 때 적합합니다
toString()을 호출하면 최종String을 얻을 수 있습니다- 초기 capacity를 지정하면 크기 재조정을 피할 수 있습니다
자주 묻는 질문
“StringBuilder로 문자열 만들기” 강의는 무료인가요?
네 — “StringBuilder로 문자열 만들기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“StringBuilder로 문자열 만들기”에서 뭘 배우나요?
효율적인 문자열 연결 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Java Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“StringBuilder로 문자열 만들기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 문자열이 변경 불가능한 이유
- StringBuilder로 문자열 만들기
- StringBuilder 메서드
- StringBuilder와 StringBuffer 비교