타입 추론과 함수

하승진·2024년 7월 26일
0
post-thumbnail

타입 추론

: 변수나 함수를 선언하거나 연산을 수행 시 자료형을 코드에 명시하지 않아도 코틀린이 자동으로 자료형을 추론해주는 기능

앞 내용에서 다뤘을 때 보면 조금 이상하지 않은가?

val stringValue = "안녕하세요."

이러한 경우와

var intArr = arrayOf(1, 2, 3, 4, 5)

이렇게 배열을 선언할 때 보통 타입을 지정해줘야 하는데 안해주는 코드를 확인한다. 이것은 타입을 지정 안해줘도 코틀린에서 타입을 추론해준다.

추론 결과물

var a = 1234 -> int
var a = 1234L -> long
var c = 12.45 -> double
var d = 12.45f -> float

var e = 0xABCD : 16진수 -> int
var f = 0b0101010 : 2진수 -> int

var g = true -> boolean
var h = 'c' -> char

이런 경우들에 대해서 코틀린을 자료형을 추론해서 정의를 내린다.

함수

코틀린에서는 함수 선언 시 이름 앞에 "fun" 이라고 붙여준다.

단일 표현식 함수

fun add 같은 경우 매우 간단한 연산식이지만 벌써 3줄을 차지한다. 이러한 간단한 함수인 경우 간단하게 기술할 수 있도록 제공하는 문법이다.

fun add(a: Int, b: Int, c: Int): Int = a + b + c

위의 식과 같이 한 줄로도 충분히 간단한 연산식의 함수들은 코드 길이 간소화하면서 표현 가능하다.

이렇게 단일 표현식으로 함수를 구현해보면 결국 내부적으로 기능을 가진 형태이지만 외부적으로 파라미터를 넣는다는 점 외에는 자료형이 결정된 변수라는 개념으로 접근하는 것이 좋다.

profile
기어갈지언정 한 발자국씩이라도 가보자

0개의 댓글