함수(메서드)

황승현·2023년 12월 7일
0

코틀린 강의 정리

목록 보기
4/36
post-thumbnail

함수(Function)

어떠한 특정 작업을 수행하기 위한 명령문의 집합

  • 특정한 로직(작업)을 가지는 소스코드에 별명(이름)을 붙일 수 있다.

  • 함수(function) = 이름이 붙은 로직

  • 자바와 달리 꼭 클래스 내부에 함수를 작성할 필요 없다.

함수를 쓰는 이유

중복되는 코드의 반복적인 프로그래밍을 피할 수 있다.

함수 구조

블록이 본문인 함수

본문이 중괄호로 둘러싸인 함수를 의미한다.

fun 함수 이름(변수명:자료형, 변수명:자료형 ....) : 반환자료형 {
		소스코드 로직
        return 어떤 값
}
  • 함수를 선언할 때 fun 키워드를 사용한다.

  • fun 키워드 뒤에 함수 이름을 작성한다.

  • 함수 이름 뒤에는 괄호 안에 파라미터 목록을 작성한다.

  • 파라미터 목록 뒤에 콜론(:)함수의 반환자료형을 쓴다.

  • 중괄호 내에 본문을 작성한다.

  • 반환 타입을 적었다면 반드시 return문이 있어야 한다.

식이 본문인 함수

등호와 식으로 이루어진 함수를 의미한다.

fun 함수 이름(변수명1:자료형, 변수명2:자료형 ....) = 어떠한 식(e.g. 변수명1+변수명2)
  • 함수를 선언할 때 fun 키워드를 사용한다.

  • fun 키워드 뒤에 함수 이름을 작성한다.

  • 함수 이름 뒤에는 괄호 안에 파라미터 목록을 작성한다.

  • 파라미터 목록 뒤에 콜론(:)함수의 반환자료형을 쓴다.

  • 등호(=) 뒤에 본문을 작성한다.

식이 본문인 함수의 경우 반환 자료형을 생략할 수 있다.

fun max(a:Int, b:Int) = if(a>b) a else b

함수 예시

두 숫자의 합을 반환하는 함수

fun main(){
	var a = 5
    var b = 10
    
    //15가 출력
    print(add(5,10))
}

fun add(num1:Int, num2:Int) : Int{
	return num1+num2
}

성적 등급을 반환하는 함수

fun main(){
	var myScore = 94
    
    print("내 등급은 ${checkRank(myScore)}")
}

fun checkRank(score:Int) : String{
	when(score){
    	in 90..100 -> return "A" //내 점수는 94점이기 때문에 A등급이 출력된다.
        in 80..89 -> return "B"
        in 70..79 -> return "C"
        else -> return "F"
    }
}

두 숫자 중 더 큰 수를 반환하는 함수

fun max(a: Int, b: Int): Int{
	return if(a > b) a else b
}

0개의 댓글