코틀린 값을 반환하는 구문들 중 return의 쓰임이 궁금합니다.

조회수 502회

안녕하세요. 프로그래밍 공부 막 입문한 초짜입니다.

현재 앱 개발을 목표로 코틀린을 공부하고 있는데요. (깡쌤의 코틀린 프로그래밍 책으로 공부 중입니다.)

공부하다보니 이 구문에는 끝에 return이 쓰여야 할 것 같은데 어디는 return을 쓰고 어디는 return을 안쓰고 하는 부분이 있어서 질문 드립니다.

1. fun some():Int { return 10 }

2. fun myfun(x1 : Int, x2 : Int) : Boolean { return x1>x2 }

3. val sum3 = { x1 : Int, x2 : Int -> println("call sum3()..") x1+x2 }

4. if(a>0) "hello" else "world"

책에 나와있는 예제 중 이해가 안가는 것 중에 몇개 가져온건데, 분명 다 값을 반환하는 것 같은데 어디는 return을 쓰고 어디는 return을 안쓰고 하니 왜 그런지를 알 수가 없더라고요.

그리고 return은 딱 return 문 이런식으로 검색하면 나오는데 return이 없는 구문은 뭐라 검색해야 하는 지도 모르겠어서..

어떤 차이 때문에 return을 쓰고 혹은 쓰지 않는지 알려주시면 감사드리겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 질문자님의 코드를 살펴보면 1, 2번째코드에만 return이 사용되어있습니다. return은 말그대로 반환라는뜻인데 1, 2번코드의 공통점은 둘다 fun(함수)가 사용되었습니다. 아래코드를 순서대로 설명하면

    fun some(): Int {//1:선언해둔다//3:인수를 받지않고 호출되었다
        return 10 //4:10을 반환한다
    }
    fun main() {
        print(some())//2:some함수를 호출한다. //5:반환값(10)을 출력한다
    }
    

    인자가 없고 반환값이 있는경우는 이렇고, 인자와 반환값이 있을경우는

    fun myfun(x1 : Int, x2 : Int) : Boolean {//1:선언해둔다//3:정수2개를 인수로 받고 호출된다
        return x1 > x2//4:x1이 x2보다 크면 True를 반환하고 아니면False를 반환합니다.
    }
    fun main(){
        print(myfun(5, 3))//2:5와 3을 인자로 myfun함수를 호출한다.//5:반환값인 True를 출력한다
    }
    

    결론은 return은 함수가 있을때에만 사용가능하다는것입니다. 참고자료

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)