"Circle 클래스의 인스턴스 메소드에서 사용한 게 아니라 그냥 실행문 쪽에서 작성한거라면 접근이 불가능한 변수이기 때문에 AttributeError가 발생할 수 있습니다." 가 이해가되지 않습니다. 왜 __radius 변수가 없다고 인식하는 건가요? circle.radius getter, setter 인데 이 게터 세터가 __radius변수를 덮어 씌운건가요?
+0
2022년 7월 12일
__radius 변수가 없다고 인식하는 것을 알기 위해서는 python의 접근제한자를 이해하셔야 합니다. python의 접근제한자는 public, private, protected가 있는데 __가 붙은 인스턴스 변수는 private 제한자로 처리됩니다. 그래서 __radius라는 변수명으로는 접근할 수 없고 getter, setter를 사용하셨다면 circle.radius 또는 circle.get_radius()와 같은 방식으로 접근할 수 있습니다.
댓글 2개