[Kotlin] 4. 타입추론과 함수

오도원공육사·2021년 5월 20일
0

코틀린 기초문법

목록 보기
4/13

1. 타입추론 (type inference)

  • 변수나 함수를 선언하거나 연산이 이루어질 때 자료형을 코드에 명시하지 않아도 코틀린이 자동으로 자료형을 추론하는 기능
val text: String = "이것은 문자열"
val text = "이것은 문자열"
val a = 'c' // Char
val b = "c" // String

var intArr: Array<Int> = arrayOf(1, 2, 3, 4, 5)
var intArr = arrayOf(1, 2, 3, 4, 5)
  • 변수가 선언될 때 값의 형태로 변수가 어떤 자료형을 가지는지 추론한다.

  • 일반 자료형에서도 자료형을 지정하지 않고 값을 할당하여 자동 지정가능하다.

var a = 1234 // Int
var b = 1234L // Long

var c = 12.45 // Double
var d = 12.45f // Float

var e = 0xABCD // Int
var f = 0b0101101 // Int

var g = true // Boolean
var h = 'c' // Char
  • 대부분은 타입 추론으로 코드량을 줄일 수 있다.

2. 함수 (function)

  • 특정한 동작을 하거나 원하는 결과값을 연산하는데 사용하는 기능
  • main()이나 println("")도 모두 함수이다.
fun 함수이름(매개변수이름:매개변수타입):반환타입 

2-1. 예시.

fun main() {
	println(add(5, 6, 7))
}

fun add(a:Int, b:Int, c:Int): Int{
    return a + b + c
}

2-2. 단일 표현식 함수

  • 함수를 좀 더 간단하게 기술하는 기능
  • 마치 변수에 결과값을 할당하듯 식을 할당하여 만든다.
fun main() {
	println(add(5, 6, 7))
}

fun add(a:Int, b:Int, c:Int) = a + b + c
  • 단일 표현식 함수에서는 반환형의 타입추론이 가능하므로 반환형을 생략할 수 있다.

함수는 내부적으로 기능을 가진 형태이지만 외부에서 볼 때는 파라미터를 넣는다는 점 외에는 함수는 자료형이 결정된 변수라는 개념으로 접근하는 것이 함수형 언어개념을 이해하는데 좋다.

profile
잘 먹고 잘살기

0개의 댓글

관련 채용 정보