다음과 같은 View 클래스가 있습니다.

 public class CompassView extends View {
	private float bearing;
	...
	public void setBearing(float _bearing) { 
		bearing = _bearing;
	 }
	...
	@override
	protected void onDraw() { 
		...
		//bearing 변수 사용
	 }
}

이를 main Activity에서 다음과 같이 사용합니다.

public class CompassActivity extends Activity {
	@Override
	public void onCreate() {

		...
		CompassView cv = new CompassView(this);
        	setContentView(cv);
        	cv.setBearing(45);
        	cv.setBearing(15);
	}
}


기본적으로 setContentView 메소드가 호출되면 onDraw메소드가 호출되는것 같은데요

위에서 View클래스 내의 setBearing 메소드를 호출하여도 onDraw메소드가 호출이 되는것 같네요.

찾아보니 onDraw메소드는 draw메소드가 호출될때 자동으로 호출이 된다고하는데,

draw는 setContentView와 무슨 관계가 있나요?

그리고 위에서 setBearing이라는 메소드를 호출하는데도 onDraw메서드가 호출되는 이유는 무었인가요?