들여쓰기와 제거
불필요한 공백을 제어합니다
들여쓰기와 제거은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
부수적 공백과 필수 공백
텍스트 블록을 코드에 맞춰 들여쓰면 그 들여쓰기는 부수적인 것이므로 문자열에 포함되지 않아야 합니다. Java는 이를 자동으로 제거하고 필수 공백만 유지합니다.
종료 구분자가 기준 여백을 정합니다
Java는 모든 내용 줄과 종료 """를 살펴 공통으로 가장 왼쪽에 있는 비공백 열을 찾습니다. 그 기준 여백의 왼쪽에 있는 모든 내용이 제거됩니다.
public class Main {
public static void main(String[] args) {
String text = """
Hello
World
""";
System.out.println("[" + text + "]");
}
}종료 따옴표를 왼쪽으로 옮기기
종료 """가 내용보다 더 왼쪽에 있으면 각 줄의 추가 선행 공백이 필수 공백으로 유지됩니다.
public class Main {
public static void main(String[] args) {
String text = """
Hello
World
""";
System.out.print(text);
}
}뒤따르는 공백은 제거됩니다
각 줄 끝의 공백은 자동으로 제거됩니다. 따라서 일반 문자열을 괴롭히는 눈에 보이지 않는 후행 공백 오류를 방지할 수 있습니다.
public class Main {
public static void main(String[] args) {
String text = """
line one
line two
""";
for (String line : text.split("\n")) {
System.out.println("<" + line + ">");
}
}
}stripIndent 메서드
String.stripIndent() 메서드는 실행 시점에 모든 문자열에 동일한 부수적 공백 알고리즘을 적용합니다. 텍스트 블록이 내부적으로 사용하는 기능입니다.
public class Main {
public static void main(String[] args) {
String raw = " a\n b\n c\n";
System.out.print(raw.stripIndent());
}
}내부 들여쓰기 제어하기
기준 여백을 기준으로 한 들여쓰기는 유지됩니다. 여기서는 두 번째 줄이 첫 번째 줄보다 더 많이 들여쓰기되어 있으며, 그 추가 들여쓰기가 출력에 그대로 남습니다.
public class Main {
public static void main(String[] args) {
String tree = """
root
child
grandchild
""";
System.out.print(tree);
}
}indent 메서드
String.indent(int n)은 모든 줄의 시작 부분에 n개의 공백을 추가하고 끝에 줄 바꿈이 오도록 합니다. 텍스트 블록을 중첩할 때 유용합니다.
public class Main {
public static void main(String[] args) {
String text = """
a
b
""";
System.out.print(text.indent(4));
}
}strip과 앞뒤 공백 제거 비교
전체 블록의 앞뒤 공백을 제거하려면 strip()을 사용합니다. 이전 방식인 trim()과 달리 strip()은 유니코드를 인식합니다.
public class Main {
public static void main(String[] args) {
String text = """
content
""";
System.out.println("[" + text.strip() + "]");
}
}종료 따옴표를 단독 줄에 배치하기
종료 """가 단독 줄에 있으면 문자열은 끝에 줄 바꿈을 포함합니다. 마지막 문자 바로 뒤에 배치하면 이 줄 바꿈을 제거할 수 있습니다.
public class Main {
public static void main(String[] args) {
String withNewline = """
done
""";
String noNewline = """
done""";
System.out.println("A:" + withNewline.length());
System.out.println("B:" + noNewline.length());
}
}코드에 맞춰 정렬하기
가독성을 위해 주변 코드에 맞춰 블록 전체를 들여쓸 수 있으며, 부수적인 들여쓰기는 값에서 사라집니다.
public class Main {
static String menu() {
return """
Start
Options
Quit
""";
}
public static void main(String[] args) {
System.out.print(menu());
}
}기준 여백 확인하기
공백 제거를 디버깅하려면 각 줄을 표시 기호로 감싸 보십시오. 그러면 어떤 선행 공백이 정확히 남았는지 확인할 수 있습니다.
public class Main {
public static void main(String[] args) {
String block = """
x
y
""";
for (String line : block.split("\n")) {
System.out.println("|" + line + "|");
}
}
}빠른 확인
텍스트 블록에서 제거되는 선행(부수적) 공백의 양을 결정하는 것은 무엇입니까?
요약
들여쓰기와 공백 제거를 배웠습니다:
- 부수적 들여쓰기는 자동으로 제거됩니다
- 종료
"""의 위치가 기준 여백을 정할 수 있습니다 - 줄 끝의 공백은 제거됩니다
- 실행 시점에는
stripIndent(),indent(n),strip()을 사용할 수 있습니다 - 종료 따옴표의 위치가 최종 줄 바꿈을 제어합니다
자주 묻는 질문
“들여쓰기와 제거” 강의는 무료인가요?
네 — “들여쓰기와 제거” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“들여쓰기와 제거”에서 뭘 배우나요?
불필요한 공백을 제어합니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Java Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“들여쓰기와 제거” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.