1.1 왜 스칼라인가?

정적 타입의 다중 패러다임 JVM언어

JVM과 자바스크립트 언어

스칼라는 JVM의 성능과 최적화를 활용함은 물론이고 자바를 중심으로 구축된 풍부한 기존 도구와 라이브러리 생태계도 이어받는다.

그러나 JVM한정은 또 아니다.

→ 자바 가상머신 생태계 기반의 언어이다

정적타입

타입 추론을 통해 귀찮고 불필요한 타입 표기를 생략가능

다중패러다임 - 객체지향 프로그래밍

OOP 완벽 지원.

mixin composition을 사용해서 타입을 깔끔하게 구현하는 트레이트로 자바 객체 모델을 보완

스칼라에서 모든 것이 객체다.

다중패러다임-함수형 프로그래밍

복잡한 타입 시스템

자바 타입 시스템을 더 유연한 제네릭스로 확장하고 코드 정확성을 높이기 위해 몇가지를 개선함. → 타입 추론을 통해

간결하고 우아하며 유연한 문법

도메인 특화언어(DSL)

규모확장성-아키텍쳐

트레이트 기반 혼합합성, 추상타입 멤버와 제네릭스, 내포 클래스, 명시적인 자기타입 지정의 네가지 언어 메커니즘