
Flutter 앱을 만들다 보면 사용자의 입력이 빠르게 반복될 때 어떻게 처리할지 고민해야 할 상황이 자주 생겨요. 예를 들어 검색창에 글자를 입력할 때마다 API 요청을 보내거나, 버튼을 너무 자주 눌렀을 때 중복 동작이 발생하지 않도록 막고 싶을 때가 있죠. 이럴 때 자주 사용되는 개념이 바로 ‘디바운싱(Debouncing)’과 ‘스로틀링(Throttling)’이에요. 두 용어는 비슷하게 들릴 수 있지만, 실제로는 적용되는 상황과 동작 방식에 분명한 차이가 있어요. 성능 최적화는 물론, 예기치 않은 버그나 과도한 요청을 방지하기 위해서라도 꼭 알고 있어야 할 개념이죠. 이번 글에서는 디바운싱과 스로틀링이 각각 어떤 개념인지, Flutter에서는 어떻게 구현할 수 있는지, 실제로 어떤 상황에 적용하면 ..