※ 만약, 인자에 var 키워드를 붙여주면, 클래스 내부에 프로퍼티로 저장된다. 만약 var을 안쓰면 매개변수로만 있고, 맴버변수로는 없으므로, printIn해도 값이 출력되지 않는다.
② 파라미터의 기본값 정의와 호출
정의할 때 등호(=)를 사용해서 기본값을 설정할 수 있다.
fun 함수명(name1: String, name2: Int = 157, name3: Double) { 실행 코드 }
다음 코드는 파라미터의 기본값을 가지는 함수를 정의한 예이다. 정의된 newFunction 함수를 호출할 때 기본값이 없는 첫 번째 파라미터에만 값을 입력하면 두 번째와 세 번째 파라미터에는 설정한 기본값이 자동으로 입력됩니다.
fun newFunction(name: String, age: Int = 29, weight: Double = 65.5){
Log.d("fun", "name의 값은 ${name}입니다.")
Log.d("fun", "age의 값은 ${age}입니다.")
Log.d("fun", "weight의 값은 ${weight}입니다.")
}
newFunction("Hello")
/* [로그캣 출력 내용]
name의 값은 Hello입니다.
age의 값은 29입니다.
weight의 값은 65.5입니다.
/
③ 파라미터 이름으로 값을 입력하기 (파라미터 이름 직접 지정하기)
함수에 정의된 파라미터가 많을 경우 입력하는 값의 의미가 명확하지 않을 때가 있다.
이럴 경우 순서와 상관없이 정의된 파라미터 이름을 지정해서 직접 값을 입력할 수 있다.
위 코드에서 마지막 행을 다음과 같이 수정하고 다시 실행해보라.
ㄴQ: val 이니까, 수정 불가능한 것 아닌가.
newFunction("Michael", weight = 67.5)
/* [로그캣 출력 내용]
name의 값은 Michale입니다.
age의 값은 29입니다.
weight의 값은 67.5입니다.
/