여기 Amy씨가 있습니다
그녀는 커피를 좋아합니다
아침마다 커피를 필요로 하며
커피 없이는 일을 할 수가 없습니다
코드 한 줄도 작성할 수가 없습니다
그리고 그녀는 고전적인 방식을 사용합니다
고전적인 방식으로 커피를 내린다는 뜻입니다
원두를 준비하고
그것을 갈아서 커피를 만들기 위한 온갖 작업들을
거칩니다
현재 이 이미지는 DALL·E 3로 생성되었으며 말이 안 되는 부분들이
많이 있습니다
커피 부분만 해도 그렇습니다
이미 커피가 있는데 또 원두를 갈고 있습니다
아무튼
Amy씨는 커피 없이는 일을 할 수 없고 집중을 할 수 없다는 문제를 갖고 있습니다
하지만 다행히도 우리에게는 머신이 있습니다
이건 Amy씨가 아닙니다
이것도 아니고
이게 Amy씨입니다
여기 있습니다
그녀의
이름이 CAFEE라고 되었는데 상관 없습니다
그녀는 그저 이 버튼을 눌러서 커피 내리는 것을 좋아하는 개발자입니다
좋습니다
그리고 그녀가 이 버튼을 누르면 function(함수)가 실행됩니다
그리고 이 함수가 그녀 대신 일을 해주는 덕분에 그녀가 직접 원두를 갈지 않아도 됩니다
온갖 작업들을 직접 할 필요가 없는 것입니다
그냥 커피만 가지고 가면 됩니다
아주 좋습니다
손에 이미 커피를 든 채로 또 저만큼의 커피를 내리면서
계속 버튼을 누르고 있습니다
이래서 제가 ChatGPT가 DALL·E 3로 생성하는 이미지들을 좋아합니다
며칠 전에 출시되었는데 저는 굉장히 만족스럽고 사용할 수 있어서 행복합니다
아무튼 우리는 이 커피를 내려주는 함수를 통해 개발자 Amy씨의
문제점을 도와주었습니다
좋습니다 그러면 그 함수를 직접 만들어 봅시다
직접 해보는 것입니다
일단 지난 영상에서 사용했던 기초 파일 안에 들어와 있습니다
어제(2일차) 강의에서 말입니다
그러면 본격적으로 함수를 만들어 봅시다
그리고 이미 함수가 어떤 구조를 가져야 할지 보입니다
main 함수가 우리가 접촉하는 첫 함수입니다
이것 다음에 우리의 함수를 생성할 수 있습니다
그러면 같은 맥락으로 우리의 함수도 만들어 보겠습니다
한 번 영상을 멈추고 makeCoffee(커피만들기)라는 함수를 만들어 보시기 바랍니다
자
영상을 멈춰 보시기 바랍니다
영상을 멈추고 스스로 시도해 보셔야 합니다
자 그러면 fun 키워드를 사용해 만들 수 있습니다
그리고 makeCoffee를 이런 식으로 작성합니다
그리고 이는 이름 규약으로써 이것을 대문자로 사용해야 합니다
함수 이름을 위한 이름 규약은 모든 프로그래밍 언어마다
다릅니다
예를 들어 C#에서는 대부분 첫 단어부터 대문자를 사용하지만
Kotlin에서는 아닙니다
그리고 여러분이 어디에서 일하고 어느 회사를 위해 일하는지에 따라
이름 규약이 달라질 수 있습니다
그러므로 어떤 회사에서 일을 하든 그들이 사용하는 함수, 변수, 클래스 등
이름 규약을 미리 알아야 합니다
그런 다음 그것에 맞춰 따르면 됩니다
자
그럼 돌아와서 fun 키워드 다음에 함수 이름이 보입니다
그리고 괄호가 있는데
이 괄호 () 안에는 정보를 전달할 수
있습니다
그리고 그것은 다음 영상들에서 살펴볼 것입니다
좋습니다
그리고 return type(반환 종류)라는 것이 있는데 지금은 없습니다
그러므로 이 함수는 아무것도 반환하지 않습니다
그리고 return 종류들을 추가하는 방법도 살펴 볼 예정입니다
하지만 그 다음에 이 중괄호가 있습니다
이는 이 중괄호 속에 있는 코드가 실행되어야 한다는 것입니다
이 makeCoffee 메소드 혹은 함수가 호출될 때마다 말입니다
그럼 함수는 어떻게 호출할까요?
함수는 어떻게 실행하는 것일까요?
이 경우에는 main 함수에서 호출하여 실행할 수 있습니다
어떻게 함수를 호출하냐면
함수의 이름을 입력하고 괄호를 다시 사용합니다
그럼 이것이 함수를 호출하는 것입니다
여기서는 함수를 정의한 것이고
여기서 함수를 호출하고 있습니다
말 그대로 호출하는 것입니다
좋습니다
하지만 지금 코드를 실행해 보면 아무 일도 일어나지 않습니다
즉 makeCoffee가 실행되어도
아무 일도 일어나지 않습니다
실행될 코드가 없기 때문입니다
그러므로 콘솔에 무언가를 출력하도록 해봅시다
커피는 어떻게 만드나요?
간단하게 적어봅시다
예를 들어 "Grind Beans"(원두갈기)
더 자세하게 쓰려면
"Buy Beans"(원두구매)
부터
시작해서 원두 재배 같은 것을 적을 수도 있습니다
아무튼 일단 이 정도로 하겠습니다
이 다음에는 "Add Water"(물 추가)도 넣어주겠습니다
자
"Heat water to 90°C"(90°C로 물 데우기)도 써줍니다
화씨(°F)로는 모르겠습니다만
물 추가 다음에 "Push hot water through the grinded beans"(갈린 원두에 뜨거운 물 붓기)를 추가합니다
커피 머신의 과정은 저도 잘 모르지만 그래도
이런 식으로 작동된다고 가정해 봅시다
그럼 코드를 실행해 보겠습니다
보이는 것은 이 5개의 println() 문장들이며
이 5줄이 실행되어 콘솔에 출력된 것입니다
다시 실행해 봅시다
원두 구매, 원두 갈기, 물 데우기, 물 추가, 물 붓기
가 있습니다
그러면 커피가 완성되는 것입니다
따라서 이 과정을 매번 수동으로 작업하는 대신 그저 이 함수를 호출하면 됩니다
그러므로 한 번 구축해 놓으면 다시 사용할 수가 있는 것입니다
이 makeCoffee 함수를 여기서 호출했었습니다
왜 이 println() 문장들을 바로 여기다가 넣지 않는지
궁금해 하실 수도 있습니다
그건 바로 이 똑같은 것을 계속 사용할 것이기 때문입니다
저 println() 문장들을 여러 번 똑같이 출력할 수도 있습니다
이런 식으로 함수를 재사용하여 코드를 실행해 보겠습니다
그럼 보시다시피 원두를 구매하고
원두를 갈고
물을 데우고
물을 추가하고
이 과정들을 계속해서 반복합니다
그러니까 이 함수들을 여러 번 호출할 수 있습니다
그리고 나중에는 더 나아가서 이 makeCoffee 함수를 다른 곳에서 사용할 수도 있습니다
이 makecoffee 함수를 만들어서 작동하게 했더니
이제 어떤 곳에서든 사용이 가능해진 것입니다
자
이것이 함수의 흥미로운 점입니다
그리고 이것은 우리가 처음 생성해본 함수입니다
다음 영상에서는 함수에 추가적인 기능을 첨가해볼 것이며
함수 안에 무언가를 넣어 함수의 실행에 영향을 끼쳐 볼 것입니다
좋습니다
거기서 뵙겠습니다