0Pricing
Java Academy · 강의

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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 문자열이 변경 불가능한 이유
  2. StringBuilder로 문자열 만들기
  3. StringBuilder 메서드
  4. StringBuilder와 StringBuffer 비교
← Java Academy(으)로 돌아가기