의미 있는 들여쓰기
중괄호를 선택적으로 사용하는 방법을 알아봅니다
의미 있는 들여쓰기은(는) CoddyKit의 무료 Scala for Backend Engineering & Functional Programming 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Scala for Backend Engineering & Functional Programming 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Scala for Backend Engineering & Functional Programming 강의에는 총 4개의 강의가 포함되어 있습니다.
선택적 중괄호
Scala 3에는 유의미한 들여쓰기가 도입되었습니다. 이를 선택적 중괄호 구문이라고도 합니다. 블록을 { }로 감싸는 대신 들여쓰기로 블록의 범위를 나타낼 수 있습니다.
- 중괄호는 여전히 사용할 수 있으며 완전히 유효합니다.
- 들여쓰기 기반 코드는 더 깔끔하고 Python과 비슷합니다.
object Main:
def main(args: Array[String]): Unit =
println("No braces needed")들여쓴 메서드 본문
= 뒤에 오는 메서드 본문은 들여쓴 블록으로 작성할 수 있습니다. 같은 들여쓰기 수준에 있는 모든 문은 해당 본문에 속합니다.
마지막 표현식이 반환값입니다.
object Main:
def square(x: Int): Int =
val result = x * x
result
def main(args: Array[String]): Unit =
println(square(5))들여쓴 if 표현식
제어 구조는 새로운 간결한 구문을 사용합니다. if cond then 뒤에서 분기를 들여쓰고, else는 if와 같은 위치에 맞춥니다.
- 중괄호가 없는 형식에서는
then이 필요합니다. - 조건을 괄호로 감쌀 필요가 없습니다.
object Main:
def main(args: Array[String]): Unit =
val n = 7
val label =
if n % 2 == 0 then "even"
else "odd"
println(label)들여쓴 for 반복문
for 반복문은 부수 효과를 위해 do를 사용하고, 컬렉션을 만들기 위해 yield를 사용합니다. 두 경우 모두 들여쓰기를 사용합니다.
object Main:
def main(args: Array[String]): Unit =
for i <- 1 to 3 do
println(s"line $i")
val doubled =
for i <- 1 to 3 yield i * 2
println(doubled)들여쓴 while 반복문
while 반복문은 선택적 중괄호 형식에서 do 뒤에 들여쓴 블록을 사용합니다.
object Main:
def main(args: Array[String]): Unit =
var i = 0
while i < 3 do
println(s"i = $i")
i += 1들여쓴 match 표현식
패턴 매칭은 자연스럽게 들여쓰기를 활용할 수 있습니다. case 절은 match 아래에 들여씁니다.
object Main:
def describe(n: Int): String =
n match
case 0 => "zero"
case 1 => "one"
case _ => "many"
def main(args: Array[String]): Unit =
println(describe(1))
println(describe(9))클래스와 트레이트 본문
클래스, 트레이트, 객체에서도 중괄호를 생략할 수 있습니다. 헤더 뒤의 콜론 :이 들여쓴 본문을 시작합니다.
class Point(x: Int, y: Int):
def show: String = s"($x, $y)"
object Main:
def main(args: Array[String]): Unit =
println(Point(2, 3).show)end 표시자
긴 들여쓰기 블록에서는 정의가 끝나는 위치를 명확히 하기 위해 end 표시자를 추가할 수 있습니다. 긴 메서드나 클래스의 가독성이 좋아집니다.
- 형식:
end <name>또는end if,end while등 - 선택 사항이며 컴파일러가 올바른 사용 여부를 검사합니다.
object Main:
def greet(name: String): String =
val msg = s"Hello, $name"
msg
end greet
def main(args: Array[String]): Unit =
println(greet("Ada"))
end main
end Main중괄호와 들여쓰기 혼용
두 스타일을 자유롭게 혼용할 수 있습니다. 일부 팀은 중첩된 경우 명확성을 위해 중괄호를 유지합니다. 들여쓰기 규칙은 중괄호가 없는 곳에서만 적용됩니다.
object Main:
def main(args: Array[String]): Unit = {
val xs = List(1, 2, 3)
val total =
xs.foldLeft(0)((acc, x) => acc + x)
println(total)
}흔한 들여쓰기 실수
들여쓰기는 의미를 가지므로 일관되게 사용해야 합니다.
- 탭과 공백을 섞지 말고 공백을 사용하세요.
- 줄의 들여쓰기가 어긋나면 블록 밖으로 조용히 빠질 수 있습니다.
- 템플릿 본문(클래스/객체)에는 콜론
:이 필요하지만,=뒤의 메서드 본문에는 필요하지 않습니다.
object Main:
def main(args: Array[String]): Unit =
val items = List("a", "b")
items.foreach: item =>
println(item.toUpperCase)더 적은 중괄호로 작성하는 인수 구문
Scala 3에서는 콜론 뒤에 블록 인수를 전달할 수도 있습니다. items.foreach: x =>는 들여쓴 람다 본문을 시작하므로 중첩된 괄호와 중괄호를 피할 수 있습니다.
object Main:
def main(args: Array[String]): Unit =
val nums = List(1, 2, 3, 4)
val evens = nums.filter: n =>
n % 2 == 0
println(evens)빠른 확인
유의미한 들여쓰기에 대한 이해도를 확인해 보세요.
복습
Scala 3의 유의미한 들여쓰기를 배웠습니다.
- 블록에는
{ }대신 들여쓰기를 사용할 수 있습니다. - 제어 구조에는
then,do,yield를 사용합니다. - 클래스/객체/트레이트 본문은 콜론
:으로 시작합니다. end표시자는 긴 블록을 명확하게 합니다.- 두 스타일을 혼용할 수 있지만 공백 사용을 일관되게 유지해야 합니다.
object Main:
def main(args: Array[String]): Unit =
for i <- 1 to 2 do
if i == 1 then println("first")
else println("second")
end main
end Main자주 묻는 질문
“의미 있는 들여쓰기” 강의는 무료인가요?
네 — “의미 있는 들여쓰기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Scala for Backend Engineering & Functional Programming 강의 전체를 잠금 해제할 수 있습니다. Scala for Backend Engineering & Functional Programming 강의에는 총 4개의 강의가 포함되어 있습니다.
“의미 있는 들여쓰기”에서 뭘 배우나요?
중괄호를 선택적으로 사용하는 방법을 알아봅니다 브라우저에서 직접 실행하는 실습 코드로 Scala for Backend Engineering & Functional Programming을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Scala for Backend Engineering & Functional Programming을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Scala for Backend Engineering & Functional Programming은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“의미 있는 들여쓰기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Scala for Backend Engineering & Functional Programming 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Scala for Backend Engineering & Functional Programming 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 의미 있는 들여쓰기
- Scala 3의 열거형
- 불투명 타입
- 합집합 타입과 교집합 타입