돌아오신 것을 환영합니다
이번 영상에서는 실제로 무언가를 반환할 수 있는 함수를 만들어 보려고 합니다
따라서 커피를 만드는 예시를 계속 이어가는 것보다
아주 간단한 애플리케이션에서 보여드린 다음 계속 진행해 보려고 합니다
좋습니다
그럼 시작해 봅시다
이제 이 모든 코드들을 새로운 함수의 넣어줄 것이므로 fun을 입력하고
이름은 askDetails(주문받기)입니다
askCoffeeDetails(커피주문받기)가 좋겠습니다
그리고 이 안에 넣어주겠습니다
하지만 함수가 호출되지 않기 때문에 아무 일도 일어나지 않습니다
회색 처리되었습니다
호출되지 않는다고 알려주고 있습니다
그러므로 makeCoffee() 함수도 호출되지 않는 것입니다
호출되지 않는 함수 안에서 호출되고 있기 때문입니다
그러니까 일단 커피 만드는 것을 중단할 것입니다
좋습니다 주석 처리했어도 되지만 이 fun main() 안에 공간을
확보하고 싶었습니다
그래야 이런 식으로 반환하는 기초 함수를 살펴볼 수 있기 때문입니다
자
그럼 가장 쉬운 예시는 adder를 사용하는 것입니다
좋습니다
자 그러면 add라는 method(메소드)를 생성해 보겠습니다
그리고 사실 이게 거의 전부입니다
여기에는 Int 종류의 num과 num2가 있을 것입니다
자
이름을 num1으로 바꿔주겠습니다
이건 number2인 것입니다
좋습니다
이제 이것이 할 일은 계산을 하는 것입니다
그리고 result(결과)로 가져올 것입니다
var이든 val이든 좋습니다
val result = num1 + num2입니다
끝입니다
이것이 할 일입니다
그러면 어떻게 이 함수의 결과를 가져올 수 있을까요?
만약 여기에 add를 불러와서 5와 10을 전달해 봅시다
그럼 결과는 15이고 result도 15가 됩니다
하지만 이 코드를 실행하면 아무것도 얻지 못합니다
물론 result를 출력할 수는 있습니다
그것도 어느 정도 결과를 얻는 방법이긴 하지만 이 함수의 직접적인 출력 값은 아닙니다
따라서 함수의 출력 값을 얻고 싶다면 콜론 기호와 데이터 종류를 작성해야
합니다
전달할 데이터 종류는 Int이므로 Int를 입력합니다
그러면 오류가 발생합니다
블록 본문을 갖는 함수에서는 반환 표현식이 필요하다고 합니다
여기서 :Int로 정의한 것은 이 함수가 Int를 반환해야 한다는 것이며
그러므로 여기에 return이라는 키워드가 필요합니다
자 return(반환)이라는 키워드가 있습니다
그리고 return 다음에는 우리가 이 위에서 정의한 종류의 무언가를 반환해야
합니다
그러니까 이 경우 이 함수는 Int를 반환해야 하는 것입니다
그러므로 return result를 해보겠습니다
그러면 오류가 사라집니다
그러니까 무슨 일이 생기는 것이냐면 우리가 입력한 이것과 이것을 가져와서
그 둘을 더하고 그 결과인 result를 반환하는 것입니다
그러니까 쉽게 말해서 이 부분은 함수를 호출하는 것이지만 이 자체는 숫자인 것입니다
정확히는 정수입니다
따라서 이것을 정수 안에 저장을 할 수도 있습니다
여기 또 다른 var를 만들어서 myResult라 하고 이것을 그대로 할당합니다
그러면 myResult는 정수, 즉 Int 데이터 종류인 것입니다
왜냐하면 add()는 Int를 반환하기 때문입니다
여기 보입니다
함수 위에 마우스를 올리면 무엇을 반환하는지 확인할 수 있습니다
매개변수의 데이터 종류도 볼 수 있습니다
보시다시피 num1과
num2는 매개변수이며 Int 데이터 종류라고 알려주고 괄호와 콜론 기호 다음에 또 Int가 보입니다
Int를 반환한다는 것입니다
그러면 이제 println()으로 myResult를 출력할 수 있습니다
15라는 결과가 나올 것입니다
또 val을 사용해야 한다는 경고가 보입니다
자
바꿔주었습니다
다시 실행해 봅시다
15를 반환합니다
다음 영상에서는 기능적인 부분을 추가하여 계산을 하기 전에 사용자의 입력을
요청해 볼 것입니다
그러면 이 과제를 직접 해보신 다음 영상에서 뵙겠습니다