HeadFirst Design Pattern 에서 Observer Pattern 예제 문의드립니다.

doublejk84의 이미지

1. 아래 예제에서 observer.update를 사용 할 때 observer객체가 java.util.Observer로 만들어져 update 메소드의 파라미터 값들이 update(Observable, Object) 이렇게 선언되어야 하는 것 아닌가요?

2. Interface를 implements하지 않고 바로 사용 가능한가요?

package headfirst.observer.weather;
import java.util.*;

public class WeatherData implements Subject {
private ArrayList observers;
private float temperature;
private float humidity;
private float pressure;
...
public void notifyObservers() {
for (int i = 0; i < observers.size(); i++) {
Observer observer = (Observer)observers.get(i);
observer.update(temperature, humidity, pressure);
}
}
...
}

답변 부탁드립니다.
즐거운 하루되세요.^^