상세 컨텐츠

본문 제목

[안드로이드 코틀린] 함수(function) 만드는 방법 part6 - 가변 인자(vararg) & 스프레드 연산자(spread operator)

안드로이드

by aries574 2022. 5. 30. 11:08

본문


이번 시간에는 함수에 가변 인자(vararg)와 스프레드 연산자(spread operator) 를 사용하는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면
2. 메인 화면 구성 activity_main.xml
3. 메인 코드 구현 MainActivity.java


1. 실행 화면


2. 메인 화면 구성 activity_main.xml

 - 설명 - 

 배열의 합을 보여주기 위한 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>

 


3. 메인 코드 구현 MainActivity.java

 - 설명 - 

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 - 기본 구현

 

[안드로이드] LineChart 만드는 방법 part1 - 기본 구현

이번 시간에는 LineChart를 만드는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.java 1. 실행 화면 2. 라이브러리 등록..

aries574.tistory.com

2022.03.28 - [안드로이드] - [안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part1 - 화면 구성

 

[안드로이드] 숫자 맞추기 게임 Up&Down 만드는 방법 part1 - 화면 구성

 이번 시간에는 랜덤한 숫자를 생성하면, 사용자는 숫자를 입력해서 맞추는 게임을 만들어 보려고 합니다. 물론 무작정 맞추는 게 아니라 입력한 숫자가 랜덤한 숫자보다 큰지, 작은지 정도는

aries574.tistory.com

2022.03.19 - [안드로이드] - [안드로이드] 간단한 할 일 목록(ToDoList) 쉽게 만드는 방법

 

[안드로이드] 간단한 할 일 목록(ToDoList) 쉽게 만드는 방법

이번 시간에는 간단한 할 일 목록(ToDoList) 만드는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 아이템 화면 만들기 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.java 1. 실행 화면..

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역