CLOS は多重ディスパッチシステムである。すなわち、引数のデータ型によってメソッドを用意できる。多くのオブジェクト指向言語は単一ディスパッチであり、メソッドは第一引数のデータ型でしかディスパッチできない。CLOS のメソッドは総称関数にグループ化される。総称関数は同じ名前と引数構造を持つ（ただし個々の引数のデータ型が異なる）メソッドを集めたものである。後の例によりこのことをより良く説明する。
弱いカプセル化.
データ構造や関数管理にあたって、CL のプログラマはパッケージというモジュール管理機能を用いることが多い。
多重継承.
動的クラス変更.
クラスベース.
実行メソッドの形成.
総称関数を呼び出した時、実行する手続きの内容は、多くの動的オブジェクト指向プログラミングシステムと同様、その実行時に動的に決定されるが、メソッドキャッシュやコンパイル時に決定できる最適化を用いて高速化を図っている処理系が多い。
適用可能メソッドを並べる.
引数の型と継承関係に応じて、適用してよいメソッドを集める。
について、メソッドが以下のように定義されている場合、
クラス継承順によるメソッドの並べ替え.
メソッド結合(メソッド・コンビネーション).
CLOSでは、上のソートによって作られたメソッドのリストに一定の戦略を適用することで、最終的に実際に行う動作を決定する。この戦略のことをメソッド結合と呼ぶ。いくつかのバリエーションが標準で定義されている。
他の言語において、あるインスタンスのメソッドを呼び出すときの動作について考えてみよう。そのインスタンスのクラスが親クラスを持つとき、例えばJavaのような言語においては、継承されたメソッドは上書きされてしまう。一方,CLOSではそのような通常の上書き(オーバーライド)戦略だけにとどまらず、多種多様な戦略がANSI標準で定義され、かつ自由に定義できる。
standard メソッドコンビネーション / 標準メソッド結合.
+ メソッド結合.
これは、すべての適用可能メソッドを実行し、それらの返した値の最大値を全体の値として返すという結合方法である。
新たなメソッド結合の定義.
例.
以下に、CLOSを用いて複数のクラスでメソッドを適用する例を示す.
クラス定義.
スタンダード・メソッドコンビネーション.