본문 바로가기

기타/안드로이드

Kotlin 변수와 함수, 기초문법

 

Kotlin 변수와 함수, 기초문법

Kotlin 프로그래밍 소개  |  Android Basics Compose - First Android app  |  Android Developers

 

Kotlin 프로그래밍 소개  |  Android 기본사항 Compose: 첫 번째 Android 앱  |  Android Developers

Kotlin에서 Android 앱 빌드를 준비하기 위해 Kotlin의 입문 프로그래밍 개념을 알아봅니다.

developer.android.com

위의 페이지를 참고해 Kotlin 언어의 가장 기초인 변수와 함수 등의 문법을 함께 공부해보자

 

기초 문법을 대충 보면서 약간 파이썬이랑 자바를 합친 느낌을 받았다.

참고로 필자가 그동안 문법을 공부했던 언어는 C, C++, Java, Javascript, Python이고

기초적인 내용을 제외하고 독특한 문법, 한 번 쯤 짚고 넘어갈 문법만 정리했다

 

기본

세미콜론 없음

main 함수 있음

기본출력함수 print, println

 

자료형에는 String, Int, Double, Float, Boolean이 있다

str: String = "안녕하세요"
integer: Int = 123
dou : Double = 123.123123123
flo : Float = 123.123
bool : Boolean = true

 

단항증감연산자 ++, -- 있음

integer: Int = 123
integer++
integer--

 

String의 +는 concat(문자열 이어 붙이기). boolean이랑도 조합가능

println("it's " + true)

<출력결과>

it's true

 

println 함수의 서식문자는 $변수이름 과 같이 사용한다. 중괄호로 수식 표현 가능

var myAge: Int = 22
println("hello my age is now ${myAge+1}")

 

주석은

//한줄과
/*
 여
 러
 줄
 */

이 있다

 

변수

변수는 var, 상수는 val

var variable: Int = 123
val value: Int = 123
variable++

 

이름은 Camel Style(첫 단어 제외하고 단어의 시작이 대문자)

var helloMyNameIsYeppiYeppiYo: String = "Yeppi"

 

자료형은 명시해도 되고 컴파일러가 알아서 판단하게 해도 된다(이를 유형추론이라고 함)

var variable = 123
val value = 123
var helloMyNameIsYeppiYeppiYo = "Yeppi"

 

 

함수

키워드는 fun

이름은 Pascal Style(모든 단어의 시작이 대문자)

fun SimpleFunction() {
    println("hello")
}

 

return 키워드 있음

fun SimpleFunction() {
    return
}

아무값도 리턴하지 않으면 Void와 비슷한 느낌의 Unit이라는 자료형을 리턴한다고 함

 

함수의 리턴값이나 매개변수의 타입을 명시하는 방법

fun SimpleFunction(age: Int): String{
    return age.toString()
}

 

매개변수는 val이라서 바꿀 수 없음 값을 변경하려면

함수 내부에서 var 변수를 선언하고 매개변수의 값을 할당해준 뒤 그 var 변수를 이용

fun SimpleFunction(cantChange: Int){
    var canChange = cantChange
    canChange++
}

 

함수호출 시 매개변수의 이름을 명시하여 인자 넘겨주는 순서 조정가능

fun main() {
    SimpleFunction(second = "second", first = "first")
}

fun SimpleFunction(first: String, second: String){
    println(first)
    println(second)
}

<출력결과>

first

second

 

매개변수 디폴트 값 설정 가능

fun main() {
    SimpleFunction(5)
    SimpleFunction()
}

fun SimpleFunction(defaultIsTen: Int = 10){
    println(defaultIsTen)
}

<출력결과>

5

10

 

매개변수와 인자는 약간 차이가 있는데 인자는 호출시 넘겨주는 그 '값'이고 매개변수는 그 변수의 이름이라고 생각하면 됨