티스토리 뷰
728x90
반응형
SMALL
안녕하세요, 안드로이드 앱 개발을 시작하는 여러분! 지난 시간에는 Kotlin의 변수와 데이터 타입, 그리고 조건문과 반복문에 대해 알아보았습니다. 이번에는 프로그래밍에서 핵심적인 역할을 하는 함수에 대해 배워보겠습니다. 함수를 통해 코드의 재사용성을 높이고, 구조를 더욱 명확하게 만들 수 있습니다.
1. 함수란 무엇인가?
함수는 어떤 작업을 수행하는 코드의 블록이며, 이 블록을 실행하기 위해 함수의 이름을 호출합니다. Kotlin에서 함수를 선언하는 방법은 아래와 같습니다.
fun add(a: Int, b: Int): Int {
return a + b
}
이 함수는 두 개의 정수를 입력으로 받아 그 합을 반환합니다. fun 키워드로 함수를 시작하고, 함수명, 매개변수, 반환 타입을 지정합니다.
2. 반환 타입 생략하기
Kotlin은 대부분의 경우에 반환 타입을 추론할 수 있기 때문에, 생략해도 됩니다.
fun greet(name: String) {
println("Hello, $name!")
}
3. 기본 값과 명명된 인자
함수에 기본 값을 지정하거나, 명명된 인자를 사용하여 특정 인자에만 값을 전달할 수 있습니다.
fun greet(message: String = "Hello", name: String) {
println("$message, $name!")
}
// 사용 예시
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
greet(name = "Kotlin") // "Hello, Kotlin!"
}
4. 가변 인자
가변 인자를 사용하여 함수에 임의의 개수의 인자를 전달할 수 있습니다.
fun printNumbers(vararg numbers: Int) {
for (number in numbers) {
println(number)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
printNumbers(1, 2, 3, 4, 5)
}
5. 람다 함수
간단한 함수를 한 줄로 표현할 수 있는 람다 함수는 Kotlin에서 강력한 기능 중 하나입니다.
val multiply: (Int, Int) -> Int = { a, b -> a * b }
6. 통합 예제: 계산기 함수
위에서 배운 내용을 활용하여 간단한 계산기 함수를 만들어봅시다.
fun calculate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
// 사용 예시
val sum = calculate(5, 3) { a, b -> a + b }
val product = calculate(5, 3) { a, b -> a * b }
마무리
이제 여러분은 Kotlin에서 함수를 어떻게 선언하고 활용하는지 알아보았습니다. 함수를 적절히 활용하면 코드를 더 깔끔하게 작성할 수 있습니다. 다음 시간에는 클래스와 객체에 대해 자세히 알아보도록 하겠습니다. 계속해서 즐거운 Kotlin 코딩되세요! 🚀
728x90
반응형
LIST
'안드로이드 첫번째 걸음' 카테고리의 다른 글
Kotlin 기초 : 안드로이드 앱 개발을 위한 시작 (5. 널 안정성) (0) | 2023.12.22 |
---|---|
Kotlin 기초 : 안드로이드 앱 개발을 위한 시작 (4. 클래스와 객체) (2) | 2023.12.21 |
Kotlin 기초 : 안드로이드 앱 개발을 위한 시작 (2. 조건문과 반복문) (2) | 2023.12.21 |
Kotlin 기초 : 안드로이드 앱 개발을 위한 시작 (1. 변수와 데이터 타입) (0) | 2023.12.21 |
안드로이드 앱 개발을 위한 프로그래밍 언어 선택: Kotlin vs. Java (60) | 2023.12.21 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- kotlin
- 기초
- 안드로이드 앱 개발
- 디자인패턴
- 코루틴
- Android
- 안드로이드
- Fragment
- 클린아키텍처
- 모듈화
- 부동산
- MVVM패턴
- coroutine
- 비동기
- 부동산 경매
- cipher
- 경매
- UI스레드
- 내부데이터베이스
- 안드로이드앱개발
- RoomDatabase
- fragment생명주기
- 생명주기
- 앱개발
- 안드로이드기초
- 사이버보안
- 코틀린
- 비동기처리
- 안드로이드개발
- RxJava
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
글 보관함