1. 코틀린 타입
코틀린은 기본적으로 Int, Float, Boolean, Char, String 등이 있으며 상세 타입은 아래의 표와 같다.
2. 코틀린 타입 추론 (Type Inference)
코틀린은 선언문을 통해 기본적으로 추론할 수 있는 타입은 별도로 선언하지 않아도 자동으로 추론하여 사용한다. 오히려, 추론이 가능한데도 타입을 선언하면 명시적 선언은 불필요하다고 알람을 준다.
아래의 예시를 보면 일반적으로 숫자를 Byte로 선언하지 않기 때문에 Byte로 선언한 것은 올바른 표현이지만, 2라는 숫자를 Int로 선언하는 것은 당연한 것을 선언하였다고 하여 redundant 라고 알림을 준다. 하지만, 실행하면 경고까지 주지는 않는다.
그러므로, 아래와 같은 표현이 올바른 방식이다.
val byteValue: Byte = 1
// val intValue: Int = 2 // Redundant
val intValue = 2 // Correct
3. 코틀린 기본 타입 내장 함수
inc(), dec() 함수들은 코드를 깔끔하게 하는데에 유용할 것 같다.
기본 함수들은 자체 변수값을 바꾸지 않고 변경된 값을 return 한다고 생각하면 된다. 그렇기 때문에, 'val' 선언 변수에도 사용할 수 있게 된다.
val price = 1004
println("Basic type's default functions:")
println("${price.inc()}")
println("${price.dec()}")
println("${price.inv()}")
---
Basic type's default functions:
1005
1003
-1005
4. 코틀린 변수 초기화
변수는 선언하는 시점에 바로 초기화할 필요는 없지만 print와 같이 그 변수를 읽기 전까지는 반드시 초기화, 즉 값을 assign 하여야 한다. 그대신 당연한 얘기이지만 값을 통해 유추를 할 수 없기 때문에 타입을 선언해주어야 한다.
좀전에 "val intValue: Int = 2"에서 "Int" 타입 선언은 redundant 였지만, "val intValue" 라고만 하면 에러가 발생한다.
val afterInitVal
---
Kotlin: This variable must either have an explicit type or be initialized.
Int로 선언해주면 정상 동작한다.
// val afterInitVal // Error
val afterInitVal: Int // Ok!
하지만, 값을 assign하기 전에 print에 넣으면 compile error가 난다.
val afterInitVal: Int // Ok!
println("After init value is $afterInitVal") // Error!
---
Kotlin: Variable 'afterInitVal' must be initialized.
아래는 정상 코드이다.
val afterInitVal: Int // Ok!
// println("After init value is $afterInitVal") // Error!
afterInitVal = 30
println("After init value is $afterInitVal") // Ok!
하지만, 이렇게 선언할거면 타입선언하면서 초기화하는 것을 습관화 하자!
'Kotlin' 카테고리의 다른 글
[Kotlin 강의] Range 사용법 (0) | 2025.01.22 |
---|---|
[Kotlin 강의] if-else를 대체할 when 사용법 (0) | 2025.01.22 |
[Kotlin 강의] Map 응용 예제 (0) | 2025.01.21 |
[Kotlin 강의] Collections: List, Set, Map (0) | 2025.01.21 |
[Kotlin 강의] 2025년 최신버전으로 마스터하기 (0) | 2025.01.20 |
댓글