728x90
반응형
타입추론
자료형 없이 값을 할당하면?
- 일반 정수형 리터럴 → Int로 추론
- L이 붙은 정수형 리터럴 → Long으로 추론
- 일반 실수형 리터럴 → Double로 추론
- f가 붙은 실수형 리터럴 → Float로 추론
- 16진수와 2진수 → Int로 추론
var a = 1234 // Int
var b = 1234L // Long
var c = 12.45 // Double
var d = 12.45f // Float
var e = 0xABCD // Int
var f = 0b0101010 // Int
var g = true // Boolean
var h = 'c' // Char
반드시 특정한 자료형으로 지정해야하는 상황이 아니라면 대부분은 코틀린의 타입추론 기능을 이용하여 코드량을 줄일 수 있다.
함수
fun 함수명(매개변수명: 자료형, …): 반환형
반환값이 없다면 반환형은 생략해도 무방
return
뒤에 오는 값을 반환하는 키워드, return이 발생면 함수의 중간이더라도 값을 반환하고 함수 종료
fun add(a: Int, b: Int, c: Int): Int {
return a + b + c
}
fun main() {
println(add(5, 6, 7)) // 18
}
단일 표현식 함수
fun add(a: Int, b: Int, c: Int): Int = a + b + c
fun main() {
println(add(5, 6, 7)) // 18
}
단일 표현식 함수에서는 반환형의 타입추론이 가능하므로 반환형을 생략할 수 있다.
코틀린에서 함수는 내부적으로 기능을 가진 형태이지만 외부에서 볼 때는 파라미터를 넣는다는 점 외에는 자료형이 결정된 변수라는 개념으로 접근하는 것이 좋다. (코틀린은 함수형 언어!!!)
728x90
반응형
'Language > Kotlin' 카테고리의 다른 글
[Kotlin] 흐름제어와 논리연산자 (0) | 2023.09.04 |
---|---|
[Kotlin] 반복문과 증감연산자 (0) | 2023.09.02 |
[Kotlin] 조건문과 비교연산자 (0) | 2023.09.02 |
[Kotlin] 형변환과 배열 (0) | 2023.08.31 |
[Kotlin] 변수와 자료형 (0) | 2023.08.31 |