안드로이드 앱(Kotlin|Java)/[2025~] 안드로이드 앱
Part0_Ch01_02 함수
heylo
2025. 1. 24. 17:15
참고) 맥에서 Dock 고정하기
적용 방법
- 응용 프로그램 > 유틸리티 폴더에서 터미널 앱(Terminal.app)을 실행합니다.
- 아래 명령어를 입력합니다.
defaults write com.apple.dock autohide-fullscreen-delayed -bool FALSE;killall Dock
- 이제 아무 프로그램이나 전체 화면 모드로 실행 중인 상태에서 화면 최하단으로 마우스 커서를 옮겨보세요. 한번에 스스륵 닥이 나타납니다.
1) Hello World 출력해보기
프로그래밍 언어 처음 배울 때 국룰
package com.example.kotlin
fun main() {
// 자바에서는 System.println()
println("Hello World!")
test()
}
2) 함수
package com.example.kotlin
fun main() {
test()
}
fun test() {
println("test")
}
자바에서 함수를 만들 때는,
이름/리턴타입 test void() {
}
코틀린에는 항상 "리턴타입" 존재
자바에서의 void와 코틀린에서의 Unit은 같다.
Redundant 하다 = Unit 형은 생략 가능
리턴타입이 Int 인 함수
fun main() {
val result = test(1,2)
println(result)
}
fun test(a: Int, b: Int) : Int {
println(a+b)
return a+b
}
자바에서는 아래와 같이 "오버로딩"을 많이했었지만
void test(a:Int) : Int {
val b = 3
println(a+b)
return a+b
}
코틀린에서는 “오버로딩”을 할 필요가 없다
fun test(a:Int, b:Int = 3) : Int {
println(a+b)
return a+b
}
코드 간결성
fun main() {
val result = test(1, b=10)
println(result)
}
b에 default value를 부여했더라도 함수 호출 시 b를 명시적으로 재지정할 수 있음
이렇게 명시해주면 argument (paremeter) 순서를 고려할 필요도 없음
fun test2(name: String, nickname: String, id: String){
println(name + nickname + id)
}
fun main() {
val result = test2("주연", "주님", "joo")
println(result)
}
fun test2(name: String, nickname: String, id: String) = println(name + nickname + id)
리턴값이 없는 내부에 코드가 한 줄인 함수는 '=' 을 이용하여 코드 간결하게 수정 가능
Single Expression ( 단위 표현식)
fun times(a: Int, b:Int,): Int = a * b
변수가 추가될 가능성을 염두에 두고 , (콤마)를 추가하면
이러한 trailing comma 가 있어도, 컴파일 에러가 발생하지 않는다.