Chapter 15. 접근을 통제하는 마법의 문지기: 프로퍼티와 디스크립터

프로퍼티와 디스크립터 컨셉

만약 우리가 만든 로봇의 ‘나이’를 저장하는 공간(속성)이 있다고 해볼까요? 누군가 실수로 로봇의 나이를 ‘-5살’이나 ‘1만 살’로 바꾼다면 큰일이 날 겁니다! 중요한 데이터(보물)를 아무나 마음대로 건드리지 못하게, 중간에서 깐깐하게 검사하고 걸러주는 멋진 보안 문자판(문지기)을 세울 수 있다면 어떨까요?

파이썬에서는 변수(속성)에 값을 넣거나 뺄 때 몰래 함수를 가동시켜 데이터를 검사하고 조작하는 프로퍼티(Property)디스크립터(Descriptor)라는 마법 같은 보안 시스템을 가지고 있습니다. 이 장을 통해 파이썬 객체지향의 고급 기술인 데이터 캡슐화의 비밀을 파헤쳐 봅시다.


📖 목차

  1. 프로퍼티(property)의 마법
    • 중요한 데이터 숨기기 (_name)
    • 읽기, 쓰기, 지우기를 통제하는 getter, setter, deleter
    • @property 데코레이터 활용하기
  2. 내 손으로 만드는 데코레이터 공장
    • 파이썬 내장 property 클래스의 원리 파헤치기
    • 사용자 정의 Property 클래스 직접 만들어보기
  3. 강력한 보안 요원: 디스크립터(Descriptor)
    • 디스크립터의 3대 핵심 무기: __get__, __set__, __delete__
    • 속성 접근의 우선순위와 무한 루프(순환) 방지법
    • 파이썬의 함수와 메서드도 사실은 디스크립터였다?
서브목차