Scala 학습에 도움이 되는 참고 자료입니다. 용어 사전, 버전 비교, FAQ, 참고 링크 등 학습 과정에서 필요한 보조 자료들을 모았습니다.

부록 목록#

아래 표는 부록에서 제공하는 문서들의 목록입니다. 각 문서는 학습 중 참고용으로 활용하거나, 특정 주제에 대한 빠른 정보를 얻을 때 유용합니다.

문서설명
용어 사전Scala 핵심 용어 정의
버전 비교Scala 2 vs Scala 3 차이점 요약
FAQ자주 묻는 질문과 답변
참고 자료공식 문서, 서적, 강의 링크

빠른 참조#

일상적인 Scala 개발에서 자주 사용하는 명령어와 코드 패턴을 모았습니다.

자주 사용하는 sbt 명령어

sbt는 Scala의 표준 빌드 도구입니다. 아래 표는 가장 자주 사용하는 명령어들입니다.

명령어설명
sbt run애플리케이션 실행
sbt compile컴파일
sbt test테스트 실행
sbt consoleREPL 실행
sbt clean빌드 결과물 삭제
sbt ~compile파일 변경 시 자동 컴파일
sbt update의존성 업데이트

주요 타입 변환

Scala에서 자주 사용되는 타입 변환 패턴입니다. toIntOption처럼 Option을 반환하는 메서드를 사용하면 실패 시 예외 대신 None을 받아 안전하게 처리할 수 있습니다.

// String → Int
"42".toInt           // 42
"42".toIntOption     // Some(42)
"abc".toIntOption    // None

// Int → String
42.toString          // "42"

// 컬렉션 변환
List(1, 2, 3).toSet  // Set(1, 2, 3)
Set(1, 2, 3).toList  // List(1, 2, 3)

Option 다루기

Option은 null 대신 사용하는 타입 안전한 방법입니다. 다양한 메서드를 통해 값의 존재 여부를 우아하게 처리할 수 있습니다.

val maybeValue: Option[Int] = Some(42)

// 값 추출
maybeValue.getOrElse(0)      // 42
maybeValue.map(_ * 2)        // Some(84)
maybeValue.filter(_ > 50)    // None
maybeValue.foreach(println)  // 42 출력

// 패턴 매칭
maybeValue match
  case Some(v) => s"값: $v"
  case None    => "값 없음"

컬렉션 주요 연산

Scala 컬렉션의 핵심 연산들입니다. 함수형 프로그래밍 스타일로 데이터를 변환, 필터링, 집계할 수 있습니다.

val nums = List(1, 2, 3, 4, 5)

nums.map(_ * 2)          // List(2, 4, 6, 8, 10)
nums.filter(_ % 2 == 0)  // List(2, 4)
nums.reduce(_ + _)       // 15
nums.foldLeft(0)(_ + _)  // 15
nums.find(_ > 3)         // Some(4)
nums.exists(_ > 3)       // true
nums.forall(_ > 0)       // true
nums.take(2)             // List(1, 2)
nums.drop(2)             // List(3, 4, 5)
nums.grouped(2).toList   // List(List(1, 2), List(3, 4), List(5))