ka373
러닝 스칼라 01] 스칼라 소개, 데이터, 표현식 등 본문
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)을 사용 가능하다.
•스칼라는 다양한 항목을 매칭 가능한 매치 표현식을 제공한다.
'10. 스칼라' 카테고리의 다른 글
러닝 스칼라 03] 객체, 클래스, 개발환경 등 (0) | 2019.09.02 |
---|---|
러닝 스칼라 02] 일급 함수, 컬렉션, 클래스와 객체, 케이스 클래스, 트레이트에서 몇가지 (0) | 2019.09.02 |
스칼라 설치부터 Hello world까지 (0) | 2019.08.31 |
스칼라 공부: 러닝 스칼라 (0) | 2019.08.31 |