코틀린 값을 반환하는 구문들 중 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은 함수가 있을때에만 사용가능하다는것입니다. 참고자료
댓글 입력