1) 컴포넌트의 state가 변경되었을 때2) 컴포넌트가 상속받은 props가 변경되었을 때3) 부모 컴포넌트가 리렌더링이 된 경우 자식 컴포넌트는 모두 리렌더링useMemo : 값이나 계산된 결과를 메모리제이션하고 싶을 때 (객체, 배열)useCallback : 함수