において、メッセージ、セレクター、メソッドはそれぞれ別物である。 系統の言語の様にオブジェクトに対しメッセージを送るという事は単なる比喩ではない。
また、セレクターとメソッドが独立していることを利用して一つのメソッドを複数のセレクターに結びつける事もできる。
メッセージにはセレクターと引き数が含まれている。このため受け取ったセレクターと引き数を編集する事も出来る。
 new
 text: 'example'.
以下が出力される。
text:=example
型付け.
メッセージと制御構文.
制御構文の節で述べた通り、の殆どの制御構文はメッセージ式である。に明るくないプログラマーからは言い方や見方を変えただけと捉えられがちである。の制御構文は実際にメッセージであるがゆえに究極には制御構文の構文要素を次のように変数に分解してしまうことが出来る。
変数に分解した分岐制御の例：
 new
これらの変数に分解された構文要素は、どのクラスのオブジェクトで無いといけないという制限はない。送られたメッセージを処理することさえ出来ればあらゆるオブジェクトに置き換える事が出来る。
特殊セレクター.
Smalltalkでは高速化のためいくつかのメッセージを特別扱いする。これを特殊セレクター（）という。
セレクターと名がつくが特殊セレクターは、特別扱いする条件が引数の状態を含んでおり、たとえ同じセレクターを使ったメッセージでも引数が条件に一致しなければ特別扱いしない。例えば下記のように引数に直接ブロックを指定していない場合では多くの処理系(VisualWorks, GNU Smalltalk等)は特別扱いせずメッセージ送信を実行する。
特殊セレクターはあくまで高速化の手段であるため種類は処理系によって異る。どの処理系が何を特殊セレクターとして扱うかは処理系ごとに提供される説明資料に記述されている。
例えば以下のようにメソッドの代わりにブロックを持つ無名クラスを作成することも出来る。
 new
定数とオブジェクト.
[ :object |
可変長オブジェクト.
Object
記憶領域の管理.
 は、ハンドルとごみ回収機能(ガーベッジコレクター)の全面的な導入によりハンドルテーブルの書き換えを利用した特殊な制御を提供している。
ハンドルテーブルの書き換え.
弱参照.