main에서
1.weather 객체를 생성하고
2.current 객체를 생성하고 current에는 매개변수로 weather 객체가 들어가고
3.wheather 객체에 있는 setmeasurements(?,?,?)메소드에 ?라는 자리에 80,90,100 이라는 셋팅을 해주면
.////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
.////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
weather 클라스에 있는
4.setmeasurements 메소드에 해당 값이 들어올테고
5.이 값을 자기 멤버에 리턴시켜두고
6.observer인터페이스를 extends한 subject를 implements해서
오버라이딩한
update 메소드에
저장한 멤버들을 넣어준다 .
.////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
.////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
7.그 후 current 클라스 생성자에 매개변수로weather 들어왔으니
받는 값으로는 Subject타입의 subject가 받음
8.그리고 observer 클라스에서 오버라이딩한 update 메소드에서
weather 에 있는 updata 메소드에서 업로딩된 자료를 다시 자기 멤버에 리턴시킴
그 후 display 인터페이스에서 오버라이드한
display 메소드에 자기 멤버들을 셋팅해줌
.////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
.////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
이렇게 이해 하고있는데 이게 맞게 이해 한 상태임 ?
무슨말인지 잘 모르겠음
ㄴ 옵저버 패턴은 아는데 내 글을 이해 못하겠다는거임 ? 아니면 옵저버 패턴 자체를 모른다는 거임 ?
옵저버를 필드로 갖는 객체가 있고, 그 객체가 바뀔때(setter로 접근할때) 옵저버의 메서드를 호출해서 알려주는게 전부임
ㄴ 여기서 옵저버를 필드로 갖는 객체가 있다는게 weatherData를 말하는거고 호출당하는게 Current 객체를 말하는게 맞지 ?
날씨정보가 관찰하고 싶은 데이터고 Current가 옵저버면 맞음
여기에는 push랑 pull 방식이 있다는데 내가 사용하는 방식은 뭐고 그걸 어떻게 구분하는지 알고있슴 ?
셋팅->세팅 (외래어는 뒤 초성이 거센소리나 된소리일 때 앞 받침을 안 적는 게 원칙. 쉽게 말하자면 받침 유무에 따라 발음 차이가 없으면 받침 안 씀) [리듬 맞춤법 봇♬]
실제로 객체안에 있는 데이터를 꺼낼때
setter로 접근하거나 날씨정보 객체에서 업데이트 호출해주면 그게 푸시고
반대로 display처럼 밖에서 꺼내쓰는 입장에서 옵저버에 있는 update 호출해서 날씨정보를 빼오는거면 풀링이고
댓글돌이 ㅋㅋㅋ 졸라 패버릴라