일부 영어 억양에서는 "two for"를 빠르게 말하면 "two fer"처럼 들려요. Two-for-one은 하나를 사면 하나를 무료로 더 준다는 뜻을 나타내는 표현이에요. 그래서 "two-fer"라는 말은 흔히 하나를 사면 하나를 더 주는 혜택을 의미해요.
쿠키 두 개를 하나 가격으로 살 수 있는 휴일 특별 행사를 하는 빵집을 상상해 봐요 ("two-fer one!"). 이 혜택을 받아들이고, (아주 관대하게도) 남은 쿠키 하나를 줄에 서 있는 다른 사람에게 주기로 해요.
여분의 쿠키를 나눠 줄 때 무슨 말을 할지 정하는 것이 이번 과제예요.
그 사람의 이름을 안다면(예를 들어 이름이 Do-yun이라면) 이렇게 말해요:
One for Do-yun, one for me.
이름을 모른다면 대신 _you_라고 말해요.
One for you, one for me.
몇 가지 예를 볼까요?
| 이름 | 대화 |
|---|---|
| Alice | One for Alice, one for me. |
| Bohdan | One for Bohdan, one for me. |
| One for you, one for me. | |
| Zaphod | One for Zaphod, one for me. |
Pharo에서는 클래스가 객체이고, 인스턴스 메서드와 클래스 메서드를 가질 수 있어요. 그런데 HelloWorld와는 달리 TwoFer의 테스트는 인스턴스 메서드를 호출하도록 작성되었어요. 보통 클래스 메서드는 새로운 객체를 만들 때 사용해요 (다른 언어의 생성자처럼요).
메서드를 이야기하다 보면 알아두면 좋은 점이 있어요. 매개변수가 없는 메서드는 단항 메서드라고 하고, 여러 매개변수를 받는 메서드는 매개변수마다 ':'로 끝나는 단어로 구분되는데, 이런 메서드를 키워드 메서드라고 해요.
세 번째 유형의 메서드도 있는데, 바로 이항 메서드예요. 이항 메서드는 매개변수를 하나만 받고, 이름으로 기호를 사용해요 (보통 +, -, & 같은 수학 기호를 써요).