ka373

러닝 스칼라 01] 스칼라 소개, 데이터, 표현식 등 본문

10. 스칼라

러닝 스칼라 01] 스칼라 소개, 데이터, 표현식 등

ka373 2019. 9. 2. 11:21

1. 스칼라(Scala) 소개

Scala : 확장 가능한 언어(SCAlable Language)의 약자

정적 타입 시스템을 가진 컴파일 언어

2004마틴 오더스키(Martin Odersky)가 처음 개발하여 배포

객체 지향 프로그래밍 언어와 함수형 프로그래밍의 요소가 결합된 다중 패러다임 프로그래밍 언어

자바 바이트코드 사용 → 자바가상머신(JVM)에서 실행 가능

Java언어와 호환 → 대부분의 자바 API를 그대로 사용 가능

REPL(Read-Eval-Print-Loop)

코드를 직접 입력하고 바로 실행 할 수 있는 대화형 셸

설치 후 cmd에서 scala를 입력하여 실행

 

_____________________________________________________________

2. 리터럴, 값, 변수, 비숫자형 타입

스칼라는 타입 추론(type inference)기능 제공

리터럴(또는 리터럴 데이터)은 숫자 5, 문자 A, 텍스트 ‘Hello, World’처럼 소스코드에 바로 등장하는 데이터

(value)

불변의 타입을 갖는 저장 단위

val <식별자>[: <타입>] = <데이터>

변수(variable)

가변의 타입을 갖는 저장 단위

var <식별자>[: <타입>] = <데이터>

스칼라에서는 변수보다는 값을 사용하는 것을 선호 → 소스코드가 안정적이고 예측 가능해짐

()숫자형 타입

Any : 모든 타입의 루트

Null : null

Unit : 값이 없음을 나타냄

 

_____________________________________________________________

3. 표현식

표현식(expression)

실행 후 값을 반환하는 코드 단위

한 줄 이상의 단위를 중괄호{}로 묶으면 하나의 표현식으로 간주하며, 이를 표현식 블록(expression block)이라 함

변수와 같은 기존의 데이터를 변경하는 대신 값을 반환할 수 있게 해 주기 때문에, 함수형 프로그래밍의 기반이 됨

함수는 표현식의 다른 형태

매치 표현식

switch와 유사한 기능

 +전형적인 switch문은 값을 매칭하는 작업으로 제한

 +스칼라의 매치 표현식은 다양한 항목 매칭 가능 : 타입, 정규 표현식, 숫자 , 데이터 구조 내용 

0개 혹은 단 하나의 패턴만 매칭 가능(break문이 필요 없음)

 

_____________________________________________________________

 

스칼라는 객체 지향 프로그래밍 언어와 함수형 프로그래밍의 요소가 결합된 다중 패러다임 프로그래밍 언어이다.

스칼라는 JVM에서 실행하며, Java언어와 호환 가능하다.

스칼라는 REPL(Read-Eval-Print-Loop)셸을 통해 대화형 실행 환경을 제공한다.

(value)와 변수(variable)을 사용 가능하다.

스칼라는 다양한 항목을 매칭 가능한 매치 표현식을 제공한다.

Comments