Kotlin 변수와 함수, 기초문법
Kotlin 프로그래밍 소개 | Android Basics Compose - First Android app | Android Developers
위의 페이지를 참고해 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
매개변수와 인자는 약간 차이가 있는데 인자는 호출시 넘겨주는 그 '값'이고 매개변수는 그 변수의 이름이라고 생각하면 됨
'기타 > 안드로이드' 카테고리의 다른 글
BirthDayCard App - Column Container, 람다후행문법 (0) | 2022.10.13 |
---|---|
Empty Compose Activity - Activity, Composable 함수, Preview 함수 (0) | 2022.10.13 |
Android Studio 설치, 가상기기/실제기기로 첫 앱 빌드 (2) | 2022.10.13 |
어플 개발 학습 계획 (0) | 2022.10.10 |
어플 개발 계기 (0) | 2022.10.10 |