336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Kotlin 함수의 구성요소는 함수 정의에서 사용되는 여러 요소들을 포함하며, 이를 통해 함수의 동작과 특징을 정의할 수 있습니다. 다음은 Kotlin 함수의 주요 구성요소와 예제입니다:
함수 정의의 주요 구성요소
- 함수 선언 (Function Declaration):
- 함수의 이름과 매개변수, 반환 타입을 정의합니다.
- 매개변수 (Parameters):
- 함수가 입력으로 받을 값을 정의합니다. 각 매개변수는 이름과 타입을 가집니다.
- 반환 타입 (Return Type):
- 함수가 반환하는 값의 타입을 정의합니다. 반환 타입이 없으면 Unit을 사용합니다. (C에서 void 와 동일)
- 함수 본문 (Function Body):
- 함수의 실제 동작을 정의합니다. 중괄호 {}로 둘러싸인 코드 블록 또는 단일 식으로 표현할 수 있습니다.
- 접근 제한자 (Visibility Modifiers):
- 함수의 가시성을 제어합니다. (예: public, private, protected, internal)
- 디폴트 매개변수 값 (Default Parameter Values):
- 매개변수의 기본값을 정의하여 함수 호출 시 생략할 수 있습니다.
- 인라인 함수 (Inline Functions):
- 함수의 성능을 최적화하기 위해 inline 키워드를 사용하여 인라인 함수를 정의할 수 있습니다.
// 1. 함수 선언과 접근 제한자
public fun greet(name: String = "Guest"): String { // 2. 매개변수, 3. 반환 타입, 6. 디폴트 매개변수 값
// 4. 함수 본문
return "Hello, $name!"
}
// 7. 인라인 함수
inline fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
// 함수 사용 예제
fun main() {
// 디폴트 매개변수 값 사용
println(greet()) // 출력: Hello, Guest!
println(greet("Alice")) // 출력: Hello, Alice!
// 인라인 함수 사용
val result = operate(3, 4) { x, y -> x + y }
println(result) // 출력: 7
}
주요 구성요소 설명
- 함수 선언:
- fun 키워드를 사용하여 함수를 선언합니다.
- 함수 이름은 greet입니다.
- 매개변수:
- name: String은 name이라는 이름의 String 타입 매개변수입니다.
- name 매개변수에는 기본값 "Guest"가 설정되어 있습니다.
- 반환 타입:
- 함수가 String 타입의 값을 반환하도록 정의되었습니다.
- 반환 타입은 매개변수 목록 뒤에 콜론(:)을 사용하여 지정합니다.
- 함수 본문:
- 중괄호 {}로 둘러싸인 코드 블록입니다.
- 이 함수는 문자열을 반환합니다.
- 접근 제한자:
- public 키워드는 함수가 어디서나 접근 가능함을 나타냅니다.
- Kotlin에서 접근 제한자는 기본적으로 public입니다.
- 디폴트 매개변수 값:
- name: String = "Guest"에서 name 매개변수의 기본값은 "Guest"입니다.
- 함수 호출 시 name 값을 생략하면 기본값이 사용됩니다.
- 인라인 함수:
- inline 키워드를 사용하여 인라인 함수를 정의합니다.
- 인라인 함수는 고차 함수의 성능을 최적화합니다.
- operate 함수는 두 개의 Int 값과 이들을 조작할 람다식을 매개변수로 받습니다.
참고 :
'Android' 카테고리의 다른 글
Kotlin | dp (Density-independent Pixels), sp (Scale-independent Pixels) 에 대한 설명 (0) | 2024.07.15 |
---|---|
Kotlin | Jetpack Compose 란? (0) | 2024.07.15 |
Kotlin | var, val 차이점 (0) | 2024.07.14 |
Android Studio 설치 및 환경설정 (0) | 2024.07.13 |