Korean subtitles

← 12-17 Define and Call a Method - Solution

Get Embed Code
13 Languages

Showing Revision 1 created 10/10/2015 by sp8.

  1. [MainActivity]에 새로운 [method]를 추가하는
    첫 번째 단계를 함께 해봅시다.
  2. [method]를 추가하기 위해 다른
    [method] [braces]의 외부를 포함하여
  3. 파일의 어느 부분이든 선택할 수
    있습니다.
  4. [calculatePrice]로 규정된 다른
    [method]의 바로 아래에 추가해
  5. 보도록 하겠습니다.
  6. 이 [method] 접근에 필요한 것은
    [main activity] 내에 있기 때문에
  7. 변경자 접근을 위해 [private]로
    나타내겠습니다.
  8. [createOrderSummary] [method]가
    문자열을 반환해야 하기 때문에 그
  9. 다음은 반환 유형에 대한 문자열을
    만들도록 하겠습니다.
  10. 그리고 나서 [method]의 명칭은
    [createOrderSummary] 입니다.
  11. 그 다음, 숫자인 가격을
    입력하겠습니다.
  12. 좋습니다. [method signature]가
    완료되었습니다. 하지만 이제 이
  13. 메시지를 반환할 수 있도록
    [method]를 실행해야만 합니다.
  14. 메시지는 성명, 수량, 총계 등으로
    시작하며 다음은 감사합니다. 입니다.
  15. 자 이제 다음 단계로 넘어가
    이를 복사하고 나서
  16. [createOrderSummary] [method]에
    붙여 넣겠습니다.
  17. 이제 기본 코드를 시작할 수 있습니다.
  18. 이제 바꿀 내용은
  19. 총 가격이 아닌 성명으로 주문이
    시작하여야 한다는 것입니다.
  20. 이를 다음 행으로 이동하고 다음을
    위해 저장하도록 하겠습니다.
  21. 가격 메시지 변수를 성명으로 그리고
    나서 캅테인 쿠날로 초기화 할
  22. 것입니다.
  23. 그리고 다음 행에서
    가격 메시지를 업데이트 할 것입니다.
  24. 기존의 메시지에 첨부하도록
    하겠습니다.
  25. 이제 가격 메시지, +, 그리고 새로운
    문자를 만들 것입니다. 그리고 수량을
  26. 추가하며 마지막으로 수량 변수를
    추가할 것입니다.
  27. 수량은 전역 변수이기 때문에,
  28. 이 [method] 내에서 접근이
    가능합니다.
  29. 자 이제, 성명과 수량을 추가하였습니다.
  30. 다음 행에
    [priceMessage]와 몇몇 문자를 다시 한
  31. 번 업데이트 할 것입니다.
  32. 실질적으로 이 문자는 총 가격이 될
    것입니다. 따라서 이전과 같은
  33. 방법으로 진행하면 됩니다.
  34. 좋습니다. 이제 마지막 행에
    [priceMessage]를 다시 업데이트 합니다.
  35. 문자열의 기존 값을 갖고 여기에
    감사합니다!를 추가하도록 합니다.
  36. 자 이제 잘 된 것 같습니다. 하지만
    아직 이곳에 오류가 있습니다.
  37. 반환 명령이 없다는 오류입니다.
  38. 요약 문자열을
    반환하도록 하였기 때문에
  39. 반환에 대한 코드 행을 추가하여야
    합니다.
  40. 그 다음 반환 값 입니다.
  41. 여기서 반환 값은
    [priceMessage] 입니다.
  42. 역시 끝에는 세미콜론을
    추가하도록 하겠습니다.
  43. 자 이제 오류가 사라졌습니다.
  44. 코드에는 문제가 없는 것 같습니다.
    이제 실행하고 확인해보도록 하겠습니다.
  45. 좋습니다. 이제 수량을 3으로 변경하기
    위해 주문 버튼을 누릅니다. 작동하지
  46. 않군요.
  47. 무엇이 문제인지 살펴봅시다.
  48. 코드를 더욱 자세히 살펴보도록 합시다.
    문제를 발견하였습니다.
  49. 이곳에 [private method]
    [createOrderSummary]가 사용되지
  50. 않는다는 경고가 있습니다.
  51. 이를 호출하는 것을 깜빡 하였군요.
  52. 퀴즈 화면으로 돌아가 봅시다.
  53. 좋습니다. 첫 번째 작업을 잘 끝냈습니다.
    하지만 이제 [submitOrder] [method]로부터
  54. [createOrderSummary] [method]를
    호출해야 합니다.
  55. 안드로이드 스튜디오로 돌아가 봅시다.
    [submitOrder] [method]를 수정하여야 합니다.
  56. 정확한 가격을
    계산하였습니다.
  57. 하지만 이제 [createOrderSummary]
    [method]에 입력하여야 합니다.
  58. 이를 가격 변수가 더해진 이곳
    [createOrderSummary]에 해보도록
  59. 하겠습니다.
  60. 이 [method]의 반환 값은
    [priceMessage] 변수에 저장될
  61. 것입니다.
  62. "감사합니다"가 이곳 아래의 문자에
    있기 때문에 이 코드 행은 이제 더
  63. 이상 필요 없습니다.
  64. 따라서 이를 삭제하겠습니다.
  65. 그리고 화면 업데이트를 위해 제가 할 일은
    이전과 같이 [priceMessage] 변수가 더해진
  66. [displayMessage]를 호출하는 것입니다.
  67. 이제 앱을 다시 실행시켜 봅시다.
  68. 수량을 3으로 바꾸고
  69. 명령 버튼을 누르면,
    아직도 작동하지 않습니다.
  70. 대부분의 문자는 1행에 있지만 이는
    여러 행에 있어야 하기 때문에 되돌아
  71. 가서 코드를 수정해 보도록 합시다.
  72. 코드를 살펴보면, 새 행 지정을 해주지
    않은 것을 알 수 있습니다.
  73. 다른 것이 아닌 감사합니다 에 대해
    이를 정확히 추가하였습니다.
  74. 따라서 이제 이를 추가할 것입니다.
    다른 행에도 추가할 것입니다.
  75. 자 이제 다시 실행해 보도록 합시다.
  76. 잘 되는군요.
  77. 좋습니다.
  78. 캅테인 쿠날은 세 잔의 커피를 구매할
    수 있습니다.
  79. 코드에 할 수 있는 다른 최적화를
    보여드리겠습니다.
  80. 입력 파라미터를 입력하는 대신에
    [createOrderSummary] [method]
  81. 내에서 [calculatePrice] [method]를
    호출하였음을 숙지하십시오.
  82. 이제 이곳에
    [calculatePrice]를 완성하였습니다.
  83. 그리고 잘 작동합니다.
  84. 하지만 1가지 [method]의 출력을 다른
    [method]에 입력하는 것을
  85. 보여드리고자 합니다.
  86. 따라서 이전과 같이 놓도록 하겠습니다.
  87. [createOrderSummary] [method]
  88. 내에서 제가 할 수 있는 것은 +=
    연산자를 사용하는 것입니다.
  89. 이것은 약어 입니다. 그리고 이는
  90. priceMessage = priceMessage
    + 전체와 같은 내용을 의미합니다.
  91. 전체를 +=로 변경하면, 제가 이전에
    했던 것과 같게 될 것입니다.
  92. 이는 더 적은 입력을 필요로 하고
    코드는 더욱 간결하게 됩니다.
  93. [calculatePrice] [method]에서,
  94. 제가 한 다른 작업은
    이를 지역 변수에 저장하고
  95. 반환하는 대신 즉시 값을 반환시키는
    것입니다.
  96. 이 역시 더 많은 간결한 코드를
    만들어 냅니다.
  97. 다음으로 주문 요약을 만들고 변수에
    저장하는 대신 이 위쪽 [submitOrder]
  98. [method]에서 바로 사용하게 하여,
    [createOrderSummary]를 호출하고
  99. 이것에 대한 [displayMessage]를
    호출할 수 있습니다.
  100. 이는 같은 결과를 가져오게 합니다.
  101. [createOrderSummary] [method]의
    반환 값은 문자열이고 이는
  102. [displayMessage] [method]에 대한
    [input argument]로 입력될 수 있습니다.
  103. 이것이 확인이 더 편하면 이처럼
    놓아둘 수 있습니다.
  104. 이러한 팁과 요령들은
    어쨌든 같은 논리를 만들어 냅니다.
  105. 잊어버리기 전에, 어떻게 실행될 지에
    대한 설명을 위해 이 [method]의
  106. 윗부분에 [Javadoc comment]를
    추가하도록 합니다.
  107. 기술적으로 [private method]에 대한
    [Javadoc comment]가 필요하지는
  108. 않습니다. 하지만 이는 코드를
    확인하는 다른 사람들이 무엇을
  109. 하려고 했는지를 이해할 수 있도록
    [method]의 설명을 적는 좋은
  110. 연습입니다.
  111. 이 [method]에 대한 설명은
    명령을 요약한다는 것입니다.
  112. 주문의 가격에 대한 입력 파라미터는
    문자 요약을 반환합니다.