追伸:
>>936
メソッドは厳密な意味での関数が使われることはありません。
なぜなら、「データの操作」が加わっているからです。
カジュアルに関数を説明すると、入力を入れたら出力を出す物のことをいいますが、
中でなにやら秘密のお仕事をする場合があります。これを副作用といいます。
副作用があっても出力からは解かりません。
メソッドには「副作用がある関数」が使われることが多いのです。
副作用がある関数とは、
例えば、
int a;
int hoge (int x) { a = x; return x;}
や、
int foo (int x) {printf("%d",x); return x*x;}
のような関数をいいます。出力を出す以外にもなにかお仕事をしているでしょう?

>>940
なぜ「石」や「ボード」が描画メソッドを持ってはいけないか、というと、
たとえば、ユーザインターフェースがCUIからGUIに変えたくなったときのことを考えてください。
描画メソッドを持つ全てのクラスの描画メソッドを書き換えないといけなくなってしまいます。
これは大変な労力ですね。
もし、「ユーザインターフェース」のみが描画メソッドを持っていれば、そのクラスの描画メソッドだけ書き換えるだけで
済むのです。
さらに考えを進めて、「抽象ユーザインターフェース」抽象クラスのサブクラスとして「GUI」と「CUI」を用意して
切替えができるようにすればなお良いでしょう。