Korean subtitles

← 12-15 Use Return Value from Method - Solution

Get Embed Code
13 Languages

Showing Revision 1 created 10/18/2015 by sp11.

  1. 우선 calculatePrice 메소드 서명을
    수정할 거예요.
  2. 리턴 데이터 유형을 수정하기 위해서죠.
  3. 그리고 입력 파라미터가 0개라고
    가정할 거예요.
  4. calculatePrice 메소드는
    여기서 정의됩니다.
  5. 이 메소드의 목적은 주문 가격
    합계를 계산하여
  6. 리턴값으로 내놓는 겁니다.
  7. 가격은 정수형이어야 하니까
  8. 리턴 데이터 유형을 void에서
    int로 바꿔야 겠죠.
  9. 그러면 첫번째 과제는 해결됩니다.
  10. 과제에서는 입력 파라미터를
    0개로 하라고 했었죠.
  11. 그 부분도 해결했습니다.
  12. 두 번째 과제는
    메소드 내부를 수정하여
  13. 주문 가격을 올바로 계산하도록
    만들라는 것이었는데요.
  14. 커피 한 잔은 5달러로 가정하고 말이죠.
  15. 메소드 내부에서는
    주문한 커피의 잔 수를 받아들여.
  16. 한 잔 당 가격인 5달러를
    거기에 곱합니다.
  17. 그렇게 하면 가격 합계가 나오겠죠.
  18. 이렇게 코드를 분석해 보았습니다.
  19. 하지만 두 가지 문제가 보이네요.
    'price'라는 변수가 사용되지 않았다,
  20. 그리고 리턴 문이 보이지 않는다는
    오류 메세지가 뜹니다.
  21. 여기를 보면 정수값을 리턴해야 하는데
    실제로는 아무 것도 리턴하고 있지 않네요.
  22. 지금 우리가 보는 코드는
    이미 말씀드린 그대로입니다.
  23. 한 줄이 더 필요하겠네요. 리턴이라고
    우선 정의한 후 리턴값을 입력해야 겠죠.
  24. 리턴값은 물론 가격이 될 테고요.
  25. 그래서 여기 'price'라고 입력합니다.
    위에 정의한 대로 말이죠.
  26. 좋아요. 이제 오류는 전부 수정했군요.
  27. 자바 doc도 수정해야죠.
  28. 가격 합계를 출력한다는 사실을
    명시하도록 하기 위해서요.
  29. 이렇게 하면 누가 이 메소드를 호출해도
    그 내용을 이해할 수 있게 됩니다.
  30. 좋아요, 이제 이 메소드 정의 부분은
    다 끝마쳤습니다.
  31. 그럼 이제 메소드가 호출되는 부분으로
    가보도록 하죠.
  32. submitOrder 메소드에서
    calculatePrice 메소드를 호출해야 합니다.
  33. 현재로선 calculate price가
    목적지 없이 붕 떠있는 상태죠.
  34. 이걸 복사한 후,
    여기에 붙여넣겠습니다.
  35. 이전에는 주문 가격 계산을
    submit order 메소드 내에서 했지만
  36. 지금은 계산용 메소드가 있으니까요.
  37. 그래서 이걸 여기에 붙여녛겠습니다.
  38. 남는 세미콜론은 지우고요.
  39. 이제 보시다 시피 가격은 이 메소드
    안의 로컬 변수이고
  40. 여기서도 마찬가지입니다.
  41. 이름은 같아도 상관 없어요.
  42. 변수 영역이 다르기 때문이죠.
  43. 여기 가격 변수는
    여기와는 전혀 무관합니다.
  44. 업데이트 및 생성도 서로와 전혀
    상관 없이 이루어지죠.
  45. 메소드가 수행을 마치면
    이 가격 변수는 사라집니다.
  46. submitOrder 메소드로 돌아왔어요.
  47. 가격을 계산하고 변수 형태로
  48. 저장했으니, 이제 이걸 사용해서
    가격 메시지를 만들 수 있습니다.
  49. 여기 코드 전부는 그냥 놔둬도 됩니다.
  50. 정수값인 가격을 달러 기호를 써서
  51. '합계'라는 문자열에 연결할 거예요.
  52. 그리고 "감사합니다!"까지 연결시켜
    스크린에 출력하는 거죠.
  53. 여분의 빈 라인을 제거하고
    저장한 다음,
  54. 기기에서 실행시켜 보죠.
  55. 좋아요, 수량을 바꾸고 '주문'을 누르면
  56. 정확히 25달러라고 가격이 표시되네요.
  57. 대단해요. 제대로 만들었네요.
  58. 하지만 실제로 calculatePrice이
    제대로 작동하는 지 어떻게 알 수
  59. 있을 까요. 사용자 입장에선 이전에
    비해 딱히 달라진 게 안 보이는데 말이죠.
  60. 여러분이 만든 코드가
    제대로 작동하는지 검증할 수 있는
  61. 몇 가지 방법이 있습니다.
  62. 700 같이 말도 안되는 수치를
    리턴값으로 설정해 볼 수 있어요.
  63. 코드 저장 후 실행시킵니다.
  64. 이제 확인해 보죠.
    수량을 바꿔서 입력한 후
  65. 주문 버튼을 누르면, 가격이
    700달러로 나오는 걸 볼 수 있네요.
  66. 메소드가 올바로 호출되고 있는지를
    이렇게 확인할 수 있습니다.
  67. 제대로 호출되고 있네요. 좋아요.
  68. 이제 바꿨던 내용을 되돌릴께요.
  69. 이 메소드가 제대로 수행중인지
    확인할 수 있는 또 한 가지 방법은
  70. 이 부분에서 중단점을 설정하는 거죠.
  71. 여기 작은 버그 아이콘을 클릭해서
  72. 디버그 모드로 들어가 보겠습니다.
  73. 이제 수량을 바꿔서 주문을 클릭하면
  74. 앱이 이 지점에서 멈출 거예요.
  75. 그렇게 되었네요.
  76. 이제 calculate price 메소드에
    들어왔습니다.
  77. 글로벌 변수인 수량이 있고요.
  78. 다음 라인으로 넘어가면
    가격이라는 로컬 변수가 보이네요.
  79. 수량이 3이므로 3 곱하기 5는 15,
    따라서 15 달러로 맞춰졌네요. 좋아요.
  80. calculated price 메소드는
    이렇게 작동하여
  81. '계속'버튼을 누르면
    스크린 상에 제대로 업데이트합니다.