상세 컨텐츠

본문 제목

[안드로이드 코틀린] 함수(function) 만드는 방법 part5 - default & named

안드로이드

by aries574 2022. 5. 29. 10:52

본문


이번 시간에는 default argument(기본값)와 named argument(이름 지정) 대하여 알아보겠습니다. 


목차

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


1. 실행 화면


2. 메인 화면 구성 activity_main.xml

- 설명 - 

1. 결과값을 보여주는 TextView

 2. 입력을 하기 위한 EditText

 3. 결과값을 보여주게 하는 Button

<?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">

    <LinearLayout
        android:id="@+id/inputLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_centerInParent="true">

        <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"/>

        <EditText
            android:id="@+id/num1Edit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="25sp"
            android:textStyle="bold"
            android:inputType="number"/>

        <EditText
            android:id="@+id/num2Edit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="25sp"
            android:textStyle="bold"
            android:inputType="number"/>
    </LinearLayout>

    <Button
        android:id="@+id/resultBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="결과"
        android:textSize="25sp"
        android:layout_below="@id/inputLayout"
        android:layout_centerHorizontal="true"/>


</RelativeLayout>

 


3. 메인 코드 구현 MainActivity.java

 - 설명 -

1. 함수 매개변수기본값을 정할 수 있다.

예) fun printlnPlus(num1 : Int = 10, num2 : Int = 20) : Int

2. 함수 호출 시 전달 인자(argument)를 넣지 않으면 기본값이 실행된다.

- default argument -

예) var result1 = printlnPlus() 10, 20

3. 함수 호출 시 매개변수명에 직접 전달 인자(argument)를 전달할 수 있다.

- named argument - 

예) printlnPlus(

                num1 = num1.toInt(),
                num2 = num2.toInt()
            )

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //초기화
        var num1Edit : EditText = findViewById(R.id.num1Edit)
        var num2Edit : EditText = findViewById(R.id.num2Edit)
        var showText : TextView = findViewById(R.id.showText)
        var resultBtn : Button = findViewById(R.id.resultBtn)

        //버튼 클릭 이벤트
        resultBtn.setOnClickListener {

            //변수에 입력값 담기
            var num1 = num1Edit.text.toString();
            var num2 = num2Edit.text.toString();

            //1. default argument(값을 넣지 않으면 디폴트값이 실행된다.
            var result1 = printPlus(); // 10, 20

            //2. argument(사용자가 입력한 값 지정)
            var result2 = printPlus(num1.toInt(), num2.toInt())

            //3. named argument(매개변수명에 직접 값을 지정)
            var result3 = printPlus(
                num1 = num1.toInt(),
                num2 = num2.toInt()
            )
            //초기화
            showText.text = "";

            showText.append("result1: $result1 \n")
            showText.append("result2: $result2 \n")
            showText.append("result3: $result3 \n")
        }
    }

    //매개변수에 디폴트 값을 지정할 수 있다.
    fun printPlus(num1 : Int = 10, num2 : Int = 20) : Int{

        return num1 + num2;
    }
    
}

2022.04.19 - [안드로이드] - [안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성

 

[안드로이드] 커스텀 달력 만드는 방법 part1 화면 구성

이번 시간부터 커스텀 달력을 만들어 보겠습니다. 이번에는 메인화면 구성을 해보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구성 activity_main.xml 1. 실행 화면 2. 메인 화면 구성 activity_main.xml  -.

aries574.tistory.com

2022.03.30 - [안드로이드] - [안드로이드] 야구게임 만드는 방법 part1 - 화면 구성 및 랜덤 숫자 생성

 

[안드로이드] 야구게임 만드는 방법 part1 - 화면구성 및 랜덤숫자 생성

이번 시간에는 야구게임을 만들어 보겠습니다. 게임의 규칙을 설명하겠습니다. 1. 게임을 시작하면 랜덤한 숫자 3개를 생성합니다. 2. 사용자는 랜덤으로 생성된 숫자 3개를 맞춰야 합니다. 3. 숫

aries574.tistory.com

2022.04.08 - [안드로이드] - [안드로이드] Tab Custom Animation part1 - 화면 구성

 

[안드로이드] Tab Custom Animation part1 - 화면 구성

이번 시간부터 TabLayout을 직접 만들어 애니메이션까지 넣어보는 방법을 알아보겠습니다. 이번 포스팅은 화면 구성을 해보겠습니다. 목차 1. 실행 화면 2. 테마 변경 3. 배경 색상 파일 만들기(drawab

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역