코진남
코틀린 변수와 자료형 2편 본문
클래스 이름은 파스칼 표기법 ex) ClassName
함수나 변수 이름은 카멜 표기법 ex) functionName
코틀린 변수 선언 방법 var , val 차이
val : 선언시에만 초기화 가능 중간에 값을 변경할 수 없음
- runtime시 변경되지 말아야할 값은 val로 선언하는게 좋다.
- 초기화 후에는 값을 변경이 불가능
var : 일반적으로 통용되는 변수 언제든지 읽기 쓰기가 가능
기존언어들과 코틀린의 차이점
a라는 변수가 반드시 초기화 되어야 한다는 메세지가 나온다. 기존 언어들은 변수를 선언 후 초기화하지 않으면
기본 값으로 초기화 되거나 null 값이 들어오게된다. 코틀린은 기본 변수에서 null을 허용하지 않으면 변수에 값을 할당하지 않은채로 사용하게되면 문법 에러를 표시하고 컴파일을 막아줌으로 의도치않은 동작을 막아주거나 원척적으로 NPE를 막아준다.
하지만 프로그램에 따라서 변수에 값이 할당되지 않았다는 것을 하나의 정보로 상용하는 경우도 있을것이다.
그런경우 물음표를 붙여주게되면 null을 허용하는 nullable 변수로 선언해 줄 수 있다.
nullable변수는 null인 상태로 연산을 할 시 NullPointException을 발생할 수 있음으로 필요할때 주의해서 사용하는 것이 좋다.
fun main( args : Array<String>) {
var a :Int? = null
print(a);
incrementX()
incrementX()
println(x)
printSum(1,2)
}
코틀린이 제공하는 기본 숫자, 실수 자료형
자바와의 호환을 위해 거의 동일하다
정수형의 데이터를 코드내에 표기할 때는
10진수 16진수 2진수 로 숫자를 표기 할 수 잇다.
32비트 이내의 10진수가 기본형으로 숫자 1234
64비트의 10진수는 숫자 뒤에 L을 붙여 1234L 이된다.
16진수의 경우 '0x'를 앞에 붙이면 되고
2진수 의 경우 '0b'를 앞에 붙이면 된다.
Char 자료형
코틀린은 내부적으로 문자열을 유니코드 인코딩 중에 한 방식인 UTF-16 BE로 관리하는데, 따라서 글자 하나하나가
2Byte 메모리공간을 사용한다. Character값을 코드에서 직접 표기할 때 문자 하나를 작은 따옴표 하나로 감싸서 사요한다. ex) 'a'
문자열
기본 문자열은 val 변수명 ="문자열"
""" """ 따옴표 3개를 사용하면 특수문자까지 그대로 문자열로 사용할 수 있고, 여러줄 문자열을 바로 표기 가능하다.
fun main() {
val stringValue = "one line string test"
val multiLine = """ hi line
|string # hi man
""".trimMargin()
}
'BackEnd > 코틀린' 카테고리의 다른 글
[Kotlin] interface ,open, final, abstract (0) | 2022.06.30 |
---|---|
코틀린 타입추론과 함수 4편 (0) | 2022.04.16 |
코틀린 형변환과 배열 3편 (0) | 2022.04.16 |
val, var 차이점 (0) | 2022.04.15 |
Coroutine 이란? (0) | 2022.04.15 |