useMemo는 특정 결과값을 재사용 할 때 사용.

useCallback 은 특정 함수를 새로 만들지 않고 재사용하고 싶을때 사용.

useEffect 라는 Hook 을 사용하여 컴포넌트가 마운트 됐을 때 (처음 나타났을 때),

언마운트 됐을 때 (사라질 때, return으로 처리),

업데이트 될 때 (특정 props가 바뀔 때, deps에 props 표시) 특정 작업을 처리

useRef : JavaScript 를 사용 할 때에는, 우리가 특정 DOM 을 선택해야 하는 상황에 getElementById, querySelector 같은 DOM Selector 함수를 사용해서 DOM 을 선택합니다. 리액트는 이를 useRef로 사용.