PHpullh
학습 라이브러리/Java/Text Blocks & String Templates

JAVA · 기초 문법

Text Blocks & String Templates

Java 15+의 텍스트 블록(""")으로 여러 줄 문자열을 들여쓰기 그대로 작성합니다. JSON, SQL, HTML 등 내장 문자열 작성이 훨씬 편해집니다.

기초 문법입문text-blockstringmultilinejava15formatted

핵심 설명

Java 15+의 텍스트 블록(""")으로 여러 줄 문자열을 들여쓰기 그대로 작성합니다. JSON, SQL, HTML 등 내장 문자열 작성이 훨씬 편해집니다.

Java code

public class TextBlocks {
    public static void main(String[] args) {
        // 1. 기본 텍스트 블록 (Java 15+)
        String json = """
                {
                    "name": "홍길동",
                    "age": 30,
                    "skills": ["Java", "Kotlin", "Go"]
                }
                """;
        System.out.println(json);

        // 2. SQL 쿼리
        String sql = """
                SELECT u.name, u.email, COUNT(o.id) as order_count
                FROM users u
                LEFT JOIN orders o ON u.id = o.user_id
                WHERE u.active = true
                GROUP BY u.name, u.email
                HAVING COUNT(o.id) > 5
                ORDER BY order_count DESC
                """;

        // 3. formatted() — 값 삽입 (Java 15+)
        String name = "이순신";
        int age = 45;
        String greeting = """
                안녕하세요, %s님!
                나이: %d세
                등급: %s
                """.formatted(name, age, age >= 40 ? "VIP" : "일반");
        System.out.println(greeting);

        // 4. stripIndent()와 translateEscapes()
        String html = """
                <html>
                    <body>
                        <h1>pullh</h1>
                        <p>pull + h 프로그래밍 학습 플랫폼</p>
                    </body>
                </html>
                """;

        // 5. \ 줄 이어쓰기 (Java 14+)
        String longLine = """
                이것은 매우 긴 한 줄 문자열을 \
                텍스트 블록에서 여러 줄로 나눠 \
                작성하는 방법입니다.""";
        System.out.println(longLine);
        // → "이것은 매우 긴 한 줄 문자열을 텍스트 블록에서 여러 줄로 나눠 작성하는 방법입니다."
    }
}

학습 팁

텍스트 블록의 들여쓰기는 닫는 """의 위치로 결정됩니다. 닫는 따옴표를 왼쪽에 놓으면 전체 들여쓰기가 유지되고, 내용과 같은 레벨에 놓으면 공통 들여쓰기가 제거됩니다.

주의할 점

텍스트 블록 안에서 %s를 사용하려면 formatted()을, $를 그대로 쓰려면 이스케이프 불필요합니다. 하지만 \는 여전히 이스케이프 문자로 작동하므로 Windows 경로 등에 주의하세요.

자주 묻는 질문

Text Blocks & String Templates란 무엇인가요?

Java 15+의 텍스트 블록( """ )으로 여러 줄 문자열을 들여쓰기 그대로 작성합니다. JSON, SQL, HTML 등 내장 문자열 작성이 훨씬 편해집니다.

Text Blocks & String Templates 학습 시 주의할 점은 무엇인가요?

텍스트 블록 안에서 %s 를 사용하려면 formatted() 을, $ 를 그대로 쓰려면 이스케이프 불필요합니다. 하지만 \ 는 여전히 이스케이프 문자로 작동하므로 Windows 경로 등에 주의하세요.