| English | 의미 |
|---|---|
| reusable/riːˈjuːzəbl/ | 재사용 가능 |
| procedure/prəˈsiːdʒə/ | 절차 |
| call/kɔːl/ | 호출 |
| method/ˈmeθəd/ | 메서드 |
| arguments/ˈɑːɡjuːmənts/ | 실제 인자 |
| parameters/pəˈræmɪtəz/ | 形式 인자 |
| return value/rɪˈtɜːn ˈvæljuː/ | 반환 값 |
| implementation/ˌɪmplɪmənˈteɪʃn/ | 구현 |
| abstraction/əbˈstrækʃn/ | 추상화 |
재사용 가능한 코드 블록
- Procedure, 또는 function 또는 method라고도 불리는 것은 이름이 붙은 reusable 코드의 블록입니다.
- 한 번 작성하면 여러 번 사용할 수 있습니다.
- 작업에 이름을 부여하므로, 필요할 때마다 해당 작업을 호출할 수 있습니다.
- 이것이 "don't repeat yourself"의 핵심입니다.
절차(함수/메서드)란:
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
한 번 작성하여 여러 번 호출함.
어디서나 절차의 지령을 실행하려면, 이름을 통해 _____它.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
호출이 완료되면 프로그램은 멈췄던 지점에서 계속됩니다.
Procedure 호출
- 다른 곳에서 procedure를 실행하려면 이름으로 call합니다.
- 호출이 끝나면 프로그램은中断되었던 지점부터 계속 진행됩니다.
- 따라서 호출은 우회로와 같습니다: 일을 하러 가고, 다시 돌아옵니다.
- 동일한 procedure는 여러 곳에서 호출될 수 있습니다.
절차 호출 방식
호출은 인자를 함께 해당 절차로 점프하여 본문을 실행하고, 값을 반환한 후 프로그램이 멈췄던 지점에서 계속됩니다.
area(4, 5)의 각 항을 의미와 매칭하십시오.
난이도 2/5 · 140 코인 + 오늘 첫 완료 시 소액 보너스
인자는 실제 값이며, 매개변수는 명명된 슬롯입니다.
total ← area(4, 5)에서 area가的是什么返回?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
반환된 결과는 나중에 사용하기 위해 저장됩니다.
Arguments, parameters, return
- Procedure는 입력을 받을 수 있습니다: arguments를 parameters를 통해 procedure에 전달합니다.
area(length, width)를area(4, 5)로 호출하면 4와 5를 받습니다.- Procedure는 return value를 되돌릴 수도 있습니다 — 나중에 사용할 결과값입니다.
- 예를 들어
total ← area(4, 5)는 반환된 값을 저장합니다.
square(n)이 n × n을 반환한다면, square(square(3))은 무엇을 반환합니까?
난이도 2/5 · 140 코인 + 오늘 첫 완료 시 소액 보너스
square(3) = 9, then square(9) = 81.
square(3)를 호출할 때 내부 작동 방식이 아니라 무엇을 하는지 알면 됩니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
구현 세부사항을 숨기는 것이 절차 추상화입니다.
Implementation 숨기기
- Procedure는 caller에게 implementation 세부 사항을 숨김으로써 abstraction을 지원합니다.
- Procedure가 무엇을 하는지만 알면 되고, 내부적으로 어떻게 작동하는지는 알 필요가 없습니다.
square(n)은 n × n을 반환합니다. a ← square(3)에 9이 저장됩니다. b ← square(a)에 81이 저장되는데, 이는 square(9)가 81이기 때문입니다. 호출한 쪽은 내부 곱셈 연산을 직접 보지 못하며 오직 반환값만 사용합니다.
Procedure(또는 function 또는 method)는 이름으로 call하는 reusable 코드이며, 반환 후 프로그램이 계속 진행됩니다. arguments를 parameters에 전달하고 return value를 사용할 수 있습니다. Procedure는 abstraction을 제공합니다 — caller은 무엇을 하는지 알 뿐, implementation은 모릅니다.