Return to Video

Function Return Values (Video Version)

  • 0:00 - 0:03
    Winston을 4번 그리는 함수가 있는
  • 0:03 - 0:05
    프로그램으로 돌아왔습니다
  • 0:05 - 0:08
    Winston이 인생의 각 시점에 몇살인지
    보여주도록 프로그램을 수정하였습니다
  • 0:08 - 0:11
    왜 그런지 곧 알게 될겁니다
  • 0:11 - 0:14
    하지만 우선 Winston에 대해서 몇가지 말 해줄 필요가 있습니다
  • 0:14 - 0:16
    Winston는 도넛 중독자입니다
  • 0:16 - 0:18
    하루에 3개씩 먹습니다
  • 0:18 - 0:22
    그렇기 때문에 얼굴이 이렇게 크고 노랑색입니다
  • 0:22 - 0:25
    그래서 도넛이 얼마나 그에게 나쁜지 경고하기 위해서,
  • 0:25 - 0:29
    인생의 각 시점에 얼마나 많은 도넛을 먹었는지 보여주도록
  • 0:29 - 0:32
    전 프래그램을 변경하고 싶습니다
  • 0:32 - 0:36
    예을 들면 Winston이 두살때
  • 0:36 - 0:42
    그것은 곧 , 3 X 365 X 2 만큼 먹었다는 겁니다
  • 0:42 - 0:46
    즉 하루에3개씩, 곱하기 365일, 곱하기 2 살이지요
  • 0:46 - 0:50
    그리고 헤더밑에 표시 하게습니다. 와!!!!
  • 0:50 - 0:54
    2천개의 도넛이네요. 2살짜리 에게는 너무나 많은 도넛이에요
  • 0:54 - 1:04
    14살이 되었을때는 3 X 365 X 14 를 먹겠네요
  • 1:04 - 1:09
    즉 1만5천개 입니다
  • 1:09 - 1:13
    계속 계산 할수 있겠지만, 페턴이 보이기 시작하네요
  • 1:13 - 1:16
    계산을 반복하고 있네요
  • 1:16 - 1:20
    하나만 변경하겠습니다: 햇수 (즉, 몇 년동안)를 변경하겠습니다
  • 1:20 - 1:23
    이것처럼 반복되는 코드를 볼때마다
  • 1:23 - 1:28
    스스로 생각해 봅니다
    "흠 이것을 함수로 말들수 있을까?"
  • 1:28 - 1:32
    그럼요 당연히 만들수 있지요 그럼 지금 해 봅시다
  • 1:32 - 1:34
    함수를 이쪽에서 선언 해 보겠습니다
  • 1:34 - 1:41
    calcTotalDonunts = function 이라고 부르겠습니다
  • 1:41 - 1:44
    햇수 (the number of years)입니다
  • 1:44 - 1:46
    왜냐하면 계산 할때 마다 변하는 것은
  • 1:46 - 1:49
    단지 햇수 하나 이기 때문입니다
  • 1:49 - 1:53
    그리고 안 에서, 계산을 하겠습니다
  • 1:53 - 2:01
    그리고 변수(variable)에 저장을 합니다
    즉 3 X 365 X numYears
  • 2:01 - 2:03
    좋습니다 이제 함수를 만들었구요
  • 2:03 - 2:10
    이 식(expression)을 calTotalDounts로 대치하겠습니다
  • 2:10 - 2:13
    함수을 부르고, 2를 값으로 보내겠습니다
  • 2:13 - 2:17
    근데 지금 전체 도넛양이 안 보이네요
  • 2:17 - 2:19
    흠, 무슨일이 일어 났지요?
  • 2:19 - 2:22
    우리의 함수가 전체 값을 계산 했네요
  • 2:22 - 2:26
    근데 값을 말 해 주지 않고 있어요
  • 2:26 - 2:30
    이건 꼭 수업시간에 선생님이 질문에 답하라고 불렀는데
  • 2:30 - 2:32
    답이 머리에서만 있고
  • 2:32 - 2:35
    너무 부끄러워 답을 말하지 못하고 있는 것 같네요
  • 2:35 - 2:37
    과제는 했는데, 선생님이 전혀 몰라주는것과 같아요
  • 2:37 - 2:40
    함수가 어디서든 불려져서 부른 곳에다가 값을 전달하려면
  • 2:40 - 2:45
    그 값을 명시적으로 반환하여야 합니다
  • 2:45 - 2:49
    그래서 값을 반환하려는 함수에서는
    return 이라고 쓰고 반환하려는 값을 씁니다
  • 2:49 - 2:52
    모든 원하는 값을
  • 2:52 - 2:55
    아마도 그것은 변수 또는 값 또는 식이 될 수도 있는데
  • 2:55 - 2:58
    여기서 우린 return totalDonuts이라고 하겠습니다.
  • 2:58 - 3:02
    그럼, 누가 이 함수를 부르던지, 이렇게 닶을 얻을 것입니다
  • 3:02 - 3:04
    이제 값이 표시 되네요!
  • 3:04 - 3:07
    그리고 사실 이 함수를 좀더 간단하게 만들 수 있습니다
  • 3:07 - 3:09
    변수에다 값을 저장 할 필요가 없어요
  • 3:09 - 3:12
    그냥 여기 식(expression) 전체를
  • 3:12 - 3:15
    return 에 넣어줘도 됩니다 그러면 한 줄이 간단히 한 줄이 되지요
  • 3:15 - 3:17
    좋아요, 이제 살펴보지요
  • 3:17 - 3:20
    각 시점의 전체 도넛의 수를 계산하는 것은
  • 3:20 - 3:23
    함수를 불러, 햇수(number of year)를 넘겨줍니다
  • 3:23 - 3:29
    자 봅시다. calcTotalDounuts(25),
  • 3:29 - 3:34
    위치를 정확하게 해주고, calcTotalDounuts(65)
  • 3:34 - 3:38
    오케이, 와, 65까지 살게 되면
  • 3:38 - 3:43
    Winston은 7만개의 도넛을 먹게 되겠네요
    엄청 많은 도넛이네요
  • 3:43 - 3:48
    제 생각에는 Winston이 그때 까지 못 살것 같아요 (웃음)
  • 3:48 - 3:50
    하지만 우리가 함수를 만든 한
  • 3:50 - 3:53
    일부분을 수정하는 것도 아주 쉬운 일이지요
  • 3:53 - 3:55
    만약 Winston이 이걸 보고
  • 3:55 - 3:59
    와, 이건 너무 많네요. 만약 하루에 하나만 먹으면요?
  • 3:59 - 4:03
    오케이, 그럼 여기로 가서 숫자 하나만 변경하면 되요
  • 4:03 - 4:05
    그럼 모든것이 변경되지요
  • 4:05 - 4:08
    그래서 2만3천개가 됩니다 여전히 많은 양이네요
    아마도 Winston이
  • 4:08 - 4:11
    좋아요, 만약 한주에 하나면 먹으면요? 라고 하면
  • 4:11 - 4:12
    네, 합리적이네요, 좋아요
  • 4:12 - 4:15
    그럼 365를 50로 변경하고
  • 4:15 - 4:18
    왜냐하면 일년에 50주가 있으니깐요
  • 4:18 - 4:23
    좋아요, 이제 훨씬 낫네요
    3천개 도넛, 적당한것 같아요
  • 4:23 - 4:27
    함수와 반환값으로
  • 4:27 - 4:32
    코드도 만들수 있고, 한 생명을 살리수도 있네요
Title:
Function Return Values (Video Version)
Description:

more » « less
Video Language:
English
Duration:
04:32

Korean subtitles

Revisions