빠른 답변 정말 감사합니다. 어제 질문 올려놓고 고민해 보니 self.second.tick()은 Counter 클래스의 tick 메소드이니 if 문 안에서 실행문으로 작동을 하는 것으로 이해를 하고 작동 방식도 이해를 한 거 같습니다... 그런데 True가 리턴되면 어떻게 더 윗 단위인 minute이 1만큼 증가되는 건지??? 아~ 어렵습니다 ㅠㅠ
+0
2019년 11월 25일
second의 tick 메소드가 True일 경우 minute의 tick 메소드를 실행하게 되고 1 증가하는 것은 tick 메소드 안에서 증가합니다.
+0
2021년 9월 15일
저도 궁금한게 있어요! tick은 Clock클래스 안에서 호출됐고, 클래스에서 호출한 게 아니라 인스턴스에서 호출했는데 어떻게 Counter클래스 안에 있는 tick이 호출될 수 있는 건가요? 이해가 안 돼요..
+0
베스트 댓글
2021년 9월 21일
@미니진 Clock 클래스 안에 Counter 클래스의 인스턴스를 가지고 있습니다. 그래서 Clock 클래스로부터 만들어진 Clock 인스턴스는 Counter 클래스로부터 만들어진 Counter 인스턴스를 가지고 있으므로 Clock의 tick에서 Counter의 tick을 호출 할 수 있습니다.
+0
2024년 1월 23일
tick의 이름을 달리 정의하면 이해가 쉽지 않을까요?
+0
2024년 1월 23일
Counter 클래스의 tick은 그대로 두고, Clock 클래스는 clock_tick으로 다르게 두면 프로그램이 처리하는 과정을 이해하는데 도움이 되지 않나요?
+0
2024년 1월 23일
set 함수도 마찬가지로 달리 정의하면 ,,,
+0
2024년 1월 23일
메소드명이 유사해서 헷갈릴 수 있지만 적절하게 네이밍은 되었다고 생각해요. 동작에 대한 명칭을 메소드명으로 설정하는데 set은 설정하다, 정하다 이런 의미로 볼 수 있어서 맞는 것 같고 tick은 똑닥거리다는 의미로 사용한 것 같아서 적절하다고 생각했어요. 그런데 코드 작성하실 때 반드시 정해진 메소드명으로 하실 필욘 없습니다. 이해하기 좋은 메소드명으로 바꿔서 작성해보시는 것도 좋습니다.
댓글 8개