Scala Identifiers



1. Alphanumeric Identifiers


문자_ 로 시작하고 다음에 숫자, 문자, 언더스코어가 들어가면 된다.

val scala3_ident = 1
val _scala3_ident = 2



2. Operator Identifiers


+ , - , * , /



3. Mixed Identifier


Alphanumeric 후에 _를 적고 operator identifier를 적는다

myMultiplier_*



4. Literal Identifier


` ` ` 키워드를 변수로 사용하고 싶다면 backticks 를 사용하여 적어준다.

`for`



5. 변수 네이밍 룰


  • 변수는 소문자 대문자를 식별한다.
  • 변수는 숫자로 시작할 수 없다.
  • _ 로 변수를 시작할 수 있다.
  • 키워드를 활용하여 변수를 만들 수 있으나 추천하지 않는다. backticks 활용
  • camel case 네이밍 룰을 활용한다.
    • UpperCamelCase : 새로운 단어 첫글자는 대문자로 하지만 UpperCamelCase 는 첫글자를 대문자로 한다. > 클래스나 객체 이름에 사용한다.
    • lowerCamelCase : 새로운 단어 첫글자는 대문자로 하지만 lowerCamelCase 는 첫글자를 소문자로 한다. > 함수나 변수에 사용한다.
  • _ 는 변수 이름 중간에 사용하지 않는다.
  • $ 은 사용하지 않는다.

스칼라에서는 의례적으로 변수를 소문자화 한다.



6. 불변 변수


  • val 의 경우는 값을 변경할 수 없다. (immutable)

  • var 의 경우는 값을 변경할 수 있다. (mutable)

// 데이터 타입을 꼭 안 적어줘도 되지만(타입 추론) 특별하게 데이터 타입을 지정해야 할 경우 사용한다.
val variableName:variableType = value



7. 스칼라 데이터 타입


데이터 타입 계층도



  • 모든 데이터 타입들은 클래스
  • AnyVal 은 value 타입
  • AnyRef 는 참조 타입
Data Type Description
Byte 8 bit signed value. Range from -128 to 127
Short 16 bit signed value. Range -32768 to 32767
Int 32 bit signed value. Range -2147483648 to 922337203685477580
Long 64 bit signed value. Range -9223372036854775808 to 922337203685477580
Float 32 bit IEEE 754 single-precision float
Double 64 bit IEEE 754 double-precision float
Char 16 bit unsigned Unicode character. Range from U+0000 to U+FFFF
Boolean Either literal true or literal fallse
Unit Corresponds to no value
String A sequence of Chars
Null null or empty reference



8. 타입 문법


숫자형 문법

val (var) variableName: Type = value

// 0L or 0l --> long
// 0.0F or 0.0f --> Float
// 0.0D or 0.0d --> Double

// hexadecimal > 0x3F > 0x or 0X


문자형 문법

// (') single quote는 char
// (") double qoute 는 String

var c1 = 'A'      // regular character
var c2 = '\u0041' // Unicode character
var c3 = '\t'     // Escape sequence


var s1 = "A regular string"
var s2 = "A \"regular\" string"

// triple quote 안에 single quote, double quote를 넣어도 전부 문자열로 인식한다.
var s3 = """First line
            Seconde line
            
            Fourth line"""



9. 타입 변경


toInt, toFloat, toString 등등이 있다.

var intVar= 10
var intVarToFloat = intVar.asInstanceOf[Float]
var intVarToFloat2 = intVar.toFloat
var intVarToFloat3: Float = intVar




타입이



10.