>>448
public なメソッドがある限り、
全てのメソッドおよびフィールドは、外部から使用される。
public メソッドそのものは直接、private なものは間接的に。
そのクラスが Thread かどうかなんて全然関係ない。わかるか?

ここにインスタンスが一個あったとして、スレッドが二つあって、
それぞれから同時に触られると、困ることがある。
仮に copyAtoB() 、copyBtoA() という二つのメソッドがあって、
private なフィールドとして Collection a, b があってそれをアレするとすれば、
アレすると困るでしょ?

これを同時に行わせないなどのために、synchronized がある。