728x90
반응형
제어구문만으로는 프로그램을 돌리기엔 역부족이다.
그리고 어떤 동작을 여기저기서 하고싶을때에는? 같은 코드를 쓰면 메모리 낭비이다...
언제라도 부를수있는 기능덩어리가 필요하다. 이게 함수이다.
함수는 자기 자신의 이름, 파라미터, 리턴값으로 정의내려진다.
함수는 이해해야한당
수학을 모르면 이해하기 어렵다 (이해할순있다)
파라미터와 리턴값을 이해해야한다
파라미터 : 어딘가에서 나한테 던져준다 (누가 던진건지 , 뭔지 확인 할수있다면 좋다)
리턴값 : 이제 상황이 다 끝난후.. 내가 집어던질차례
코틀린 문법으로 써보자. 예를들면.. 이런형태이다
fun info(name : String) : Int{
return 10
}
누군가에게 문자열 name(파라미터) 을 받는다.
그리고 나는 Int형인 10을 리턴한다.
fun main(){
}
메인함수는 아주 특별한 친구! 프로그램에서 최초로 불려지는 함수이다.
(안드로이드 스튜디오로 따지면 메인 액티비티이다. 메인을 먼저 실행한다. )
fun main(){
hello("sue") //hello(파라미터)라는 함수를 실행한것임
hello("my")
}
fun hello(name : String){
println("안녕 $name !!")
//output
안녕 sue !!
안녕 my !!
}
fun main() {
val list = arrayOf(1000,2500,3000)
val totalA = list[0] + list[1] + list[2]
val totalB = tax(list[0]) + tax(list[1]) + tax(list[2])
println("totalA : $totalA and totalB : $totalB ")
}
fun tax(price : Int) : Int{
return (price*1.1).toInt()
}
//output
totalA : 6500 and totalB : 7150
특히!!
val totalB = tax(list[0]) + tax(list[1]) + tax(list[2])
tax함수를 마치 값처럼 불러와서 사용한다. (함수인데 값처럼 쓴다!)
함수는 처리를 뭉쳐놓은 덩어리이면서 동시에 값의 역할을 한다.
그리고 fun tax는 이렇게도 쓸수있다.
val tax = fun(price : Int) : Int{
return (price*1.1).toInt()
}
val tax에 함수를 대입한다.
val tax는 fun(price : Int) : Int{ ~~~~ 이다.
fun main() {
val price = 12500
val price2 = tax(price) //price2는 디폴트 값으로 15%로 계산된다.
val price3 = tax(price,15)
val price4 = tax(rate=20, price=price)// price는 첫번째price를 대입한다는 뜻
println("price : $price , price2 : $price2 , price3 : $price3 , price4 : $price4 ")
}
fun tax(price : Int, rate : Int = 10) : Int{
return (price*((100.0+rate)/100.0)).toInt()
}
val price4 = tax(rate=20, price=price)// price는 첫번째price를 대입한다는 뜻
함수의 파라미터 이름을 이용하여 대입. 순서가 상관없다! 이렇게 되면 파라미터를 지정하는데 헷갈리지않고 명확하게 가르킬수있다.
실제쓰는 함수들은 이거보다 더 복잡하지만 원리만 알면 쉽다
728x90
반응형
'Kotlin' 카테고리의 다른 글
Kotlin9. 재귀함수, 꼬리재귀 (0) | 2023.08.01 |
---|---|
Kotlin8. 람다식 , 고차함수 (0) | 2023.08.01 |
Kotlin6. 컬렉션 (0) | 2023.07.31 |
Kotlin5. 제어구문 if(표현식), when 등등... 분기(分岐)란? (0) | 2023.07.30 |
Kotlin4. 자료형과 값 (0) | 2023.05.15 |