1 life 2 live
스파크(스칼라)를 이용한 빅데이터 (2) - 스칼라 기본 [20.8.12] 본문
○ 스칼라를 설치하지않고 사용하는 사이트 : https://scastie.scala-lang.org/
Scastie - An interactive playground for Scala
Scastie can run any Scala program with any library in your browser. You don’t need to download or install anything.
scastie.scala-lang.org
○ 스칼라의 main 함수를 구현 하는 방법 2가지
1. 한 객체가 main 함수를 구현하는 방법 - def main() 구현


2. 한 객체가 App 트레잇을 상속하는 방법


○ 객체
스칼라 : 기본 자료형, 함수, 클래스 등 모든 것이 객체
객체 : Any를 최상위 클라스로 값(AnyVal)타입 과 참조(AnyRef) 타입을 상속 하여 구현
객체 비교 : ==, != 사용
○ 자료형
스칼라 : 모든것이 클래스
자료형 : 컴파일 시점에 자동으로 변환, 선언하지 않으면 자동으로 정수는 int, 실수는 Double로 선언
| 자료형 | 크기 | 범위 |
| Byte | 8bit | -128 ~ 127 |
| Short | 16bit | -32768 ~ 32767 |
| Int | 32bit | -2147483648 ~ 2147483647 |
| Long | 64bit | -9223372036854775808 ~ 9223372036854775807 |
| Float | 32bit | -3.4E38 ~ 3.4E38 |
| Double | 64bit | -1.7E308 ~ 1.7E308 |
| Char | 16bit | 문자형 |
| Boolean | 1bit | 참, 거짓 표현 |
<기본 자료형>
| 자료형 | 내용 |
| String | 문자열 표현 |
| Unit | 리턴값이 없음을 표현 |
| Null | Null 값 표현 |
| Nothing | 모든 객체의 서브 타입 |
| Any | 모든 객체의 기본 타입 |
| AnyVal | 기본 값 타입의 부모 타입 |
| AnyRef | 참조 타입의 부모 타입 |
<참조 자료형>
| 정수형 | 실수형 |
| Byte, Short, Int, Long | Float, Double |
<숫자형>
캐스팅 : 정수형과 실수형 사이의 업캐스팅은 자동으로 이루어지지만 다운캐스팅은 명시적 처리가 필요
Byte(8) -> Short(16) 자동변환 가능
Short(16) -> Byte(8) 자동변환 불가능(오류 발생)
데이터 형 선언 : 자동으로 타입 선택
논리형(Boolean) : 조건문에서 분기를 처리할 때 주로 사용
문자형(Char) : 하나의 문자를 표현 가능(쌍따옴표 "" 사용, 멀티라인 """ )
○ 접두어를 이용한 문자열 처리
스칼라 2.10.0 부터 문자열에 접두어를 붙여서 문자열 변환 가능
기본적으로 제공하는 접두어 s, f, raw
사용자가 접두어 생성가능
○ 접두어 s : ${변수명}을 이용하여 문자열안의 변수를 값으로 치환, 계산식, 함수도 사용 가능


○ 접두어 f : 문자열 포맷팅 처리, printf()와 같은 방식으로 처리


○ 접두어 raw : 특수 문자를 처리하지 않고 원본 문자로 인식
○ 예제


모든 글의 출처는 https://wikidocs.net/ 입니다.
'빅데이터' 카테고리의 다른 글
| 세종시 빅데이터 온라인 세미나 - 빅데이터 정책활용 및 스마트 치안 서비스 [21.1.20] (3) | 2021.01.21 |
|---|---|
| 스파크(스칼라)를 이용한 빅데이터 (5) - 스칼라 클래스 [20.8.16] (0) | 2020.08.16 |
| 스파크(스칼라)를 이용한 빅데이터 (4) - 스칼라 함수 [20.8.15] (0) | 2020.08.15 |
| 스파크(스칼라)를 이용한 빅데이터 (3) - 스칼라 기본 [20.8.14] (0) | 2020.08.14 |
| 스파크(스칼라)를 이용한 빅데이터 (1) [20.8.11] (0) | 2020.08.11 |