python 3.9 버전부터 functools 모듈에서 제공하는 @cache 데코레이터는 개발 시 자주 사용되는 데코레이터 중 하나이며, 나 역시 자주 사용하고 있다. 쓰다 보니 정확하게 이해하지 못하고 쓰는 경우도 있는 것 같아 정리하려고 한다.1. @cache 데코레이터@cache 데코레이터는 기본적으로 함수의 인자를 가지고 메모이제이션(Memoization) 기법을 사용하여 캐싱하는 방식이다. 즉, 함수의 인자가 이전에 입력으로 들어온 적이 없으면 계산하고, 한 번 계산된 후에는 그 결과를 저장해 두어 동일한 입력이 들어왔을 때 캐시된 결과를 반환한다. 데코레이터이기 때문에 함수 위에 붙여서 간단하게 적용할 수 있다.1.1. 구현 시 주의할 점Hashable: @cache 데코레이터는 함수의 인자를..