티스토리 뷰

728x90
  1.  

 

변수

 

val timeInSeconds = 15

 

 

 

  1. val 키워드

한번 초기화하면 다시는 값을 대입할 수 없는 불변 변수를 정의하는 키워드.

자바의 final 변수와 비슷하다.

 

 

    2.  var 키워드

val과 반대로 가변 변수를 정의할 때 사용하는 키워드.

 

 

    3.  타입 추론

변수 타입을 지정하지 않아도 컴파일러가 코드의 문맥에서 타입을 도출해주는 기능.

 

 

    4.  변수 타입을 명시하는 경우

val text: String
text = "Hello!"
 

초깃값을 생략하고 다른 문장에서 변수를 초기화하는 경우 변수 타입을 명시해야 한다.

 

 

 

기본 타입     

 

   1.  타입 

  • 정수 타입: Byte, Short, Int, Long
  • 실수 타입: Float, Double
  • 문자 타입: Char
  • 논리 타입: Boolean

 

 

    2.  원시 타입, 참조 타입    

  • 원시 타입, 참조 타입이 존재하지 않는 것이 아닌 내부에 감춰져 있다.
  • 보통 Boolean, Int와 같은 원시 타입을 nullable type으로 선언하면 참조 타입으로 지정된다.

  • boxing의 오버헤드가 없는 원시 타입 배열을 생성할 수 있다.
  • 원시 타입은 stack 영역에 실제 값을 저장하고, 참조 타입은 stack 영역에 실제 값이 가지는 주소를, heap 영역에 실제 값을 저장한다.
  • 즉, 참조 타입보다 원시 타입을 사용할 때가 시간적 비용이 적다.
 

 

 

    2.  비트 연산     

자바 연산 코틀린 연산
<< shl
>> shr
>>> ushr
& and
| or
^ xor
~ inv()

 

 

    3.  문자 타입 Char

var a = 'a'
println(a + 5) // f
 

문자에 대한 산술 연산 결과를 정수가 아닌 Char 결과로 돌려준다.   

 

 

    4.  수 변환

 
val n = 100     // Int
val l: Long = n // Error

범위가 큰 타입에 작은 타입을 대입할 수 없다.

(원시 타입과 참조타입의 박싱이 암시적으로 수행되기 때문)

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함