Characters

Char로 표현하며 문자하나를 의미합니다. 미리 살펴보았듯이 문자하나는 'C' 외따옴표를 사용하여 표시합니다.

 

마찬가지로 먼저 살펴보았던 \ (back slash)를 사용하여 완성되는 escape sequence를 확인해보겠습니다.

  • \t – tab
  • \b – backspace
  • \n – new line (LF)
  • \r – carriage return (CR) 
  • \' – single quotation mark
  • \" – double quotation mark
  • \\ – backslash
  • \$ – dollar sign

back slash를 사용한 escape sequence를 확인해보니 "키보드에 없는 문자는 어떻게 사용하지?"하고 궁금해졌습니다. 

그런 경우에는 unicode를 활용합니다.

unicode는 \u를 사용하여 unicode 임을 선언합니다.

val character = 'C'

val a:Char = 'A'

val unicodeWon = '\uFFE6' //₩

val unicodeBeta = '\u03B2' //β

 

unicode의 규격을 확인해서 내가 사용하고 싶은 코드를 확인하는 것은 방대한 내용때문에 거의 불가능합니다.

 

저는 이런 사이트를 이용합니다. 검색을 통해서 원하는 unicode를 확인할 수 있습니다.

'DEVELOPMENT > Kotlin' 카테고리의 다른 글

8. Kotlin, Basic Data Types - Arrays  (0) 2024.02.26
7. Kotlin, Basic Data Types - String  (1) 2024.02.26
5. Kotlin, Basic Data Types - Boolean  (0) 2024.02.25
4. Kotlin, Basic Data Types - Numbers  (0) 2024.02.23
3. Kotlin, Data Types - Basics  (0) 2024.02.22

Boolean

Boolean은 true, false 값을 가질 수 있으며, ?를 사용해서 null 값도 할당 가능합니다.

연산자는 아래와 같습니다. 

  • || – disjunction (logical OR) 하나라도 true 면 true  
  • && – conjunction (logical AND) 하나라도 false 면 false
  • ! – negation (logical NOT) true면 false, false면 true
val trueValue: Boolean = true
val falseValue: Boolean = false
val nullBoolean: Boolean? = null

println(trueValue || falseValue) // true
println(trueValue && falseValue) // false
println(!trueValue) // false
println(!falseValue) // true
println(nullBoolean) // null

 

|| 과 &&는 lazy(게으른) 연산자입니다.

  • a || b : a가 true이면 b의 값을 확인하지 않음. operand(피연산자)중 하나라도 true이면 true
  • a && b : a가 false이면 b의 값을 확인하지 않음. operand(피연산자)중 하나라도 false 이면 false

 

'DEVELOPMENT > Kotlin' 카테고리의 다른 글

7. Kotlin, Basic Data Types - String  (1) 2024.02.26
6. Kotlin, Basic Data Types - Characters  (0) 2024.02.25
4. Kotlin, Basic Data Types - Numbers  (0) 2024.02.23
3. Kotlin, Data Types - Basics  (0) 2024.02.22
2. Kotlin, Variables  (0) 2024.02.22

Kotlin의 모든 variables(변수) 혹은 data structure(데이터 구조)는 data type을 갖습니다.

data type을 선언해주어야 compiler(컴파일러)에서 이해하고 해석할 수 있습니다.

 

값을 변경할 수 있는 변수를 mutable variables이라고 합니다. 즉, var로 선언한 변수입니다.

(mutable은 영어단어로 '변할 수 있는, 잘 변하는' 이라는 뜻을 가지고 있습니다.)

 

반대로 한번 값을 할당하면 변경할 수 없는 변수를 immutable variables라고 합니다.

 

그럼 변수에 값을 할당함에 따라 Data type이 설정되는지 확인해 보겠습니다.

a 변수에 정수 1을 할당하였고, 정수 b에는 "문자"를 할당했습니다. 명시적으로 Data Type을 선언하지 않았지만 할당된 값의 Data type에 따라 변수의 Data type이 결정되었습니다.  

 

위 결과에서 정수는 int라고 출력이 되고 문자열은 class java.lang.String이라고 출력되었을까요?

엄밀히 말하면 둘다 class입니다. 차이점이 있다면, JVM에는 int와 integer가 있습니다.

int는 Primitive 자료형이라고 합니다. 즉, 데이터를 가지는 원시적 자료형을 뜻합니다.

그렇지만 Kotlin에서는 primitive 자료형인 Int에 많은 기능을 부여하여 Integer를 사용하지 않아도 되도록 하였습니다.

오히려 Integer를 사용하면 경우에 따라 예상치 못한 오류가 발생할 수 있습니다.

실제로 위 코드에 Integer로 선언한 부분 왼쪽에 !표가 있습니다.

마우스 커서를 이동해 올려보면 경고 문구가 나옵니다.

기억하세요. Kotlin에서는 Int를 사용합니다.

Kotlin에서 Int가 아닌 Integer로 판단되어야하는 경우 알아서 Integer로 Data type을 설정해줍니다.

코딩을 할때는 Int로 선언하고 사용하면 문제가 발생하지 않습니다.

예를 들어, Int는 primitive 자료형으로 null 값을 할당 할 수 없습니다.

 

그렇지만 Kotlin에서는 ? operator를 제공합니다. 즉 ?를 사용해 null이 될 수 있다고 알려줍니다.

? Operator

실행 결과 null을 할당했을때 a의 Data type도 null 입니다.

a 값을 출력한 결과가 null 인것은 알겠는데, a.javaClass 출력값이 왜 null 일까요?

a?.javaClass는 ? operator에 따라 a가 null이 아니면 a.javaClass를 a가 null 이면 null을 반환합니다.

 

a에 1을 할당했을때  Data type이 Int가 아니라 Integer입니다. 

왜 그럴까요? Kotlin에서 null 할당이 가능한 Integer class로 알아서 제공해준 결과입니다.

그렇지만, 개발자 입장에서는 Int와 Integer를 구분해서 사용할 필요가 없습니다.

Kotlin이 다른 언어에 비해서 사용하기 편한 이유 중에 하나입니다.

(이 외에도 많겠지요... ? operator의 존재도 마찬가지로 Kotlin이 사용하기 편한 이유가 되겠네요.)

'DEVELOPMENT > Kotlin' 카테고리의 다른 글

6. Kotlin, Basic Data Types - Characters  (0) 2024.02.25
5. Kotlin, Basic Data Types - Boolean  (0) 2024.02.25
4. Kotlin, Basic Data Types - Numbers  (0) 2024.02.23
2. Kotlin, Variables  (0) 2024.02.22
1. Kotlin "Hello, world!!!"  (0) 2024.02.22

+ Recent posts