이번 시간에는 default argument(기본값)와 named argument(이름 지정)에 대하여 알아보겠습니다.
- 설명 -
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>
- 설명 -
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 화면 구성
2022.03.30 - [안드로이드] - [안드로이드] 야구게임 만드는 방법 part1 - 화면 구성 및 랜덤 숫자 생성
2022.04.08 - [안드로이드] - [안드로이드] Tab Custom Animation part1 - 화면 구성
[안드로이드 코틀린] 간단한 RecyclerView 만드는 방법 part1 - 데이터 & 화면 (0) | 2022.05.31 |
---|---|
[안드로이드 코틀린] 함수(function) 만드는 방법 part6 - 가변 인자(vararg) & 스프레드 연산자(spread operator) (0) | 2022.05.30 |
[안드로이드 코틀린] 함수(function) 만드는 방법 part4 - 오버로딩(Overloading) (0) | 2022.05.28 |
[안드로이드 코틀린] 함수(function) 만드는 방법 part3 - 단일 표현식 (0) | 2022.05.27 |
[안드로이드 코틀린] 함수(function) 만드는 방법 part2 - 리턴(return) (0) | 2022.05.26 |
댓글 영역