SqueakByExample:4.7
4장 요약
- 메시지는, 다른 메시지 보내기의 결과가 될 수 있는 지정된 수신자인 오브젝트에게 발송됩니다.
- 단항 메시지는 어떤 인수도 필요하지 않은 메시지 입니다. 단항메시지들은 receiver selector의 형태를 갖고 있습니다.
- 바이너리 메시지는 두 개의 오브젝트에 관여하는 메시지이며, 수신자와 다른 오브젝트와 그것들의 선택자(selector)는 다음 목록의 기호: +, --, *, /, |, &, =, >, <, ˜과 @의 한 개 또는 그 이상의 것으로 작성됩니다. 이것들은 receiver selector argument(수신자 선택자 인수)의 형태를 갖고 있습니다.
- 키워드 메시지는 한 개의 오브젝트 보다 많은 오브젝트들에 관여하는 메시지이며, 적어도 한 개의 콜론 문자(:)를 갖고 있습니다. 이 키워드 메시지들은 receiver selectorWordOne: argumentOne wordTwo: argumentTwo 의 형태를 갖고 있습니다.
- Rule One. 단항 메시지(Unary messages)는 제일 먼저 발송되며, 그 다음 바이너리 메시지, 마지막으로 키워드 메시지가 발송됩니다
- Rule Two. 괄호로 묶인 메시지는 다른 메시지 보다 먼저 발송됩니다.
- Rule Three. 동일한 종류의 메시지가 있을 때, 평가 순서는 왼쪽에서 오른쪽 입니다.
- 스몰토크에서, +와 *와 같은 전통적인 산술적 연산자(arithmetic operators)는 동일한 우선권을 갖습니다. +와 *는 바이너리 메시지 이므로, *는 +에 대해 우선권을 갖지 않습니다. 여러분은 다른 결과를 얻기 위해 반드시 괄호를 사용하셔야 합니다.