analysis1() 메서드에서는 매개변수 self를 추가하고, graph_plot() 메서드를 호출할 때 앞에 self를 추가하는 부분만 수정하면 됩니다.
마지막으로 analysis4() 메서드를 작성해 봅시다(하위 목표 4 부분에 추가하면 됩니다). analysis4(dong_name1, dong_code1) 함수에서 매개변수 dong_name1, dong_code1은 핫플레이스의 행정동명과 행정동코드죠. 인스턴스 속성 self.name, self.code에 저장된 상태이므로 두 속성으로 대체하면 됩니다. 그리고 11장에서 비교할 지역의 행정동명과 코드는 analysis4() 함수 내부에서 dong_search()를 활용해 얻었습니다.
그런데 앞에서 클래스로 재구성할 때 dong_search() 함수를 클래스 외부에 정의하기로 했습니다. 따라서 비교할 행정동명과 코드는 클래스 외부에서 전달받아야 합니다. 따라서 Hotplace 클래스 내부에 정의하는 analysis4() 메서드는 비교할 행정동명과 코드를 전달받을 매개변수가 필요합니다. 이 매개변수를 각각 dong_name2, dong_code2라고 하겠습니다. dong_name2, dong_code2를 전달받으면 해당 지역의 평균인구를 구하는 부분부터는 동일합니다.
# 하위 목표 4
def analysis4(self, dong_name2, dong_code2):
population1 = self.analysis1(dong_name = self.name, dong_code = self.code, graph_yn = 'n')
population2 = self.analysis1(dong_name = dong_name2, dong_code = dong_code2, graph_yn = 'n')
data_set = [population1, population2]
labels = [self.name, dong_name2]
title = self.name + '과 ' + dong_name2 + ' 시간대별 평균인구'
self.graph_plot(popu_list = data_set, label_list = labels, graph_title = title)