변수와 자료형, 기호(?,!!)

유민국·2023년 5월 29일
0

리터럴

  • 정수 : 다른 언어와 다른 점 1000_000 - 3자리 마다 하나씩 를 찍어줌. 가독성을 위함
  • Raw String : """문자열""" - 여러줄로 구성된 문자열을 사용할 때 사용.
  • Nothing : 함수가 정상적으로 끝나지 않는다를 의미, null을 저장하거나 예외처리를 반환한다.
//val test1:Nothing = null
val test1:Nothing? = null

fun testFun1():Nothing{
	throw NullPointerException()
}

fun testFun2():Nothing?{
	return null
}
  • Unit : void를 의미한다. 반환하지 않음

자료형

  • 코틀린은 자료형이 없고 전부 클래스 타입(객체)으로 되어있다.
  • 부호가 없는 정수형에는 기본 정수형 앞에 U를 붙여서 사용

변수 선언

  • Kotlin은 변수 선언 시 val, var 두 가지 키워드를 사용한다.
  • var : 선언 이후 값을 다시 저장할 수 있다.
  • val : 선언 이후 값을 다시 저장할 수 없다.
  • var/val - 변수명 : 타입 = 값
  • 타입을 생략 시 저장하는 값에 따라 자료형이 자동으로 결정된다.
  • $ 사용 가능

?(기호)

  • kotlin 의 특징 중에 Null 안정성이라는 부분이 있다.
  • 참조 변수에 객체의 ID가 있다면 그 객체에 접근할 수 있지만 null이 있다면 객체의 ID가 없으므로 객체에 접근할 수 없다.
  • null이 있는 상태에서 개발자가 객체에 접근하는 코드를 작성해 실행하면 NullPointerException이 발생한다.

변수 뒤에 ?를 붙히지 않으면 null값을 담을 수 없다.

 //변수 뒤에 ?를 붙히면 null 값을 담을 수 있다.
var a5:Int? = null

!!(기호)

  • 코틀린에서는 변수에 아에 null을 저장하지 못하게 하여 반드시 변수의 객체에 ID를 담도록 강제할 수 있다.
//!! : null을 허용하는 값의 타입을 null을 허용하지 않는 타입으로 변환한다.
var a7:Int = a6!!
profile
안녕하세요 😊

0개의 댓글