본문 바로가기
프로그래밍/Kotlin

8. 함수 - 인수(입력 값) 보내기 (안드로이드 코틀린 앱 개발)

by Dylan Kim 2022. 4. 12.
반응형

 


<구글이 알려주는 앱 개발 무료 강의>

[코틀린/Kotlin] 가이드 맵 - 전체 보기


 


[코틀린으로 배우는 안드로이드 기초]

8. 함수 - 인수(입력 값) 보내기  in 코틀린

안녕하세요. dylan입니다.

오늘 강의는 함수(fun) 사용 시 인수(입력 값)를 보내는 방법에 대해서 배워보겠습니다.

 

(구글 개발 강의 출처)

코틀린 기초 → 코틀린 소개 → Kotlin에서 생일 메시지 만들기

 

먼저 요약과 우리가 작성할 코드를 보겠습니다.

 

강의 요약
  • 함수에 인수(입력 값)을 보내는 방법을 배웁니다.
  • 인수를 2가지로 보내는 방법을 배웁니다.

 

강의 코드
fun main() {
    val name = "재석"
    val border = "%"
    val timesToRepeat = 20
    
    printBorder(border,timesToRepeat)
    println(" 생일 축하해, ${name}!")
    printBorder(border,timesToRepeat)
       
}

fun printBorder(border : String, timesToRepeat : Int) {
    repeat(timesToRepeat) {
    	print(border)
    }
    println()
}

출력 결과

 

인수를 사용하여 테두리 변경하기

이전에 배웠던 함수를 잘 사용하면 가독성도 좋고, 유지보수에 용이하다고 배웠습니다.

이 함수에 반복문 처럼 특정 값을 보내서 처리하여, 같은 함수에서 다른 결과 값을 얻을 수 있습니다.

바로 인수인데요. 인수는 입력 값을 함수를 사용할 때 보내는 것입니다.

 

저번시간까지 배운 코드

fun main() {
    val name = "재석"
  
    printBorder()
    println(" 생일 축하해, ${name}!")
    printBorder()
}

fun printBorder() {
    repeat(20) {
    	print("=")
    }
    println()
}

 

자 저번 시간까지 배운 내용인데요. 먼저 main 함수에서 수정할 부분을 보겠습니다.

 

인수 사용

 

 1. 먼저 border라는 변수를 만듭니다.

val border = "%"

 2. 그리고 함수 printBorder 괄호 () 안에 border 변수를 배치하면 됩니다.

fun main() {
    val name = "재석"
    val border = "%"
    
    printBorder(border)
    println(" 생일 축하해, ${name}!")
    printBorder(border)
}

 

인수 정의(선언)

fun printBorder(border: String) {
    repeat(20) {
        print(border)
    }
    println()
}
  • 함수 옆 괄호 () 인수를 선언합니다.
  • border 인수(입력 값) 이름입니다.
  • 이름 뒤 콜론 : 이 옵니다.
  • String 은 인수의 종류나 유형을 나타냅니다.
  • "printBorder 함수는 border라는 '문자' 입력 값을 받는 함수"라는 뜻입니다.
  • 그리고 print("=") print(border) 변경합니다.

그리고 프로그램을 한번 실행해 보겠습니다.

 

출력 결과

지금 까지 우리는 함수를 이용하여 배너를 만드는 코딩을 리팩터링 해봤는데요.

오늘 배운 내용으로 배너의 모양을 인수로 받아서 자유자재로 바꾸는 함수를 구현해 보았습니다.

 

.

.

.

 

자, 그럼 배너의 개수까지도 입력받아서 표시하려면 어떻게 해야 할까요?

 

.

.

.

 

다음과 같이 하면 됩니다.

 

코틀린 코드

fun main() {
    val name = "재석"
    val border = "%"
    val timesToRepeat = 20
    
    printBorder(border,timesToRepeat)
    println(" 생일 축하해, ${name}!")
    printBorder(border,timesToRepeat)
       
}

fun printBorder(border : String, timesToRepeat : Int) {
    repeat(timesToRepeat) {
    	print(border)
    }
    println()
}

출력 결과

 

두 개의 인수 사용

 

 1. 먼저 timesToRepeat라는 변수를 만듭니다. (숫자는 입력 값에 " "를 넣지 않습니다.)

val timesToRepeat = 20

 2. main()에서 printBorder()를 호출할 때 반복 횟수를 두 번째 인수로 추가합니다. 두 인수를 쉼표로 구분합니다.

printBorder(border, timesToRepeat)

 

두 개의 인수 정의(선언)

fun printBorder(border : String, timesToRepeat : Int) {
    repeat(timesToRepeat) {
    	print(border)
    }
    println()
}
  • 쉼표는 두 인수를 구분합니다.
  • timesToRepeat는 인수의 이름입니다.
  • 그다음에 콜론 : 기호가 옵니다.
  • 유형: Int. timesToRepeat는 숫자이므로 String 유형이 아니라 정수의 약자인 Int 유형으로 만들어야 합니다.
  • printBorder() 내에서 숫자 20 대신 timesToRepeat 인수를 사용하도록 repeat를 변경합니다. 

한 함수에서 받을 수 있는 인수는 1개, 2개뿐만 아니라 더 많이 받을 수 도 있습니다. 벌써 함수와 인수 변수, 반복문을 배움으로, 프로그램에서 사용하는 기본적인 구성요소를 알아봤습니다. 

 

자 오늘도 마지막 숙제를 드릴게요. 답은 비밀 댓글로 달아주세요^^!

 

배너의 모양을 아래와 같이 바꾸려면 어떻게 해야 할까요?

출력 결과

(힌트) 반복되는 구간을 찾으세요.

 

감사합니다.

이상으로 강의를 마치겠습니다.

 


반응형

댓글