이번 시간에는 함수에 가변 인자(vararg)와 스프레드 연산자(spread operator) 를 사용하는 방법에 대하여 알아보겠습니다.
- 설명 -
배열의 합을 보여주기 위한 TextView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/showText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:textSize="25sp"
android:textStyle="bold"/>
</RelativeLayout>
- 설명 -
1. 함수 매개변수에 가변 인자를 받기 위해서는 vararg 키워드를 붙여주면 됩니다.
예)
fun getSum(vararg numbers : Int) : Int
2. 호출 시에는 직접 값을 넣어주거나
예)
var sum = getSum(10, 20, 30, 40)
3. 배열을 스프레드 연산자를 사용해서 넣어줄 수 있습니다.
예)
var array : IntArray = intArrayOf(1,2,3,4,5)
var sum2 = getSum(*array)
4. *를 붙여줌으로써 배열의 값을 하나씩 분리해주는 역할을 해줍니다.
getSum(1,2,3,4,5)와 같습니다.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//초기화
var showText : TextView = findViewById(R.id.showText)
//함수 호출(가변인자 전달)
var sum = getSum(10, 20, 30, 40)
showText.append("가변인자 sum: $sum \n")
//배열 생성
var array : IntArray = intArrayOf(1,2,3,4,5)
//배열값 표시 as.List()
showText.append("배열: ${array.asList()} \n" );
//스프레드연산자(*를 붙여주면 배열의 값을 하나씩 분리해준다.
//getSum(1,2,3,4,5)와 같다.
var sum2 = getSum(*array)
showText.append("배열 sum: $sum2")
}
//가변인자 받을 수 있게 설정(vararg를 붙여준다)
fun getSum(vararg numbers : Int) : Int{
var sum = 0;
for(number : Int in numbers) sum += number
return sum;
}
}
2022.04.29 - [안드로이드] - [안드로이드] LineChart 만드는 방법 part1 - 기본 구현
2022.03.28 - [안드로이드] - [안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part1 - 화면 구성
2022.03.19 - [안드로이드] - [안드로이드] 간단한 할 일 목록(ToDoList) 쉽게 만드는 방법
[안드로이드 코틀린] 간단한 RecyclerView 만드는 방법 part2 - adapter & MainActivity (0) | 2022.06.01 |
---|---|
[안드로이드 코틀린] 간단한 RecyclerView 만드는 방법 part1 - 데이터 & 화면 (0) | 2022.05.31 |
[안드로이드 코틀린] 함수(function) 만드는 방법 part5 - default & named (0) | 2022.05.29 |
[안드로이드 코틀린] 함수(function) 만드는 방법 part4 - 오버로딩(Overloading) (0) | 2022.05.28 |
[안드로이드 코틀린] 함수(function) 만드는 방법 part3 - 단일 표현식 (0) | 2022.05.27 |
댓글 영역