내 클래스는 이제 어떡하죠?

472025년 10월 01일3

온라인 커뮤니티의 폭발적인 반응 속에서, 하나의 질문이 메아리처럼 울려 퍼졌다.
“그래서, 내 클래스 컴포넌트는 이제 어떡하죠?”

이 질문은 단순한 기술적 호기심이 아니었다. 그것은 수년간 리액트로 제품을 만들고, 거대한 코드베이스를 유지보수해 온 개발자들의 현실적인 불안감과 두려움의 표현이었다. 그들은 리액트 팀이 자신들의 노력을 하찮게 여기고, 모든 것을 처음부터 다시 시작하라고 강요할까 봐 걱정했다.

‘클래스는 죽었다(Class is dead)’는 자극적인 문구가 트위터를 떠돌았다.

무대 뒤에서 이 모든 반응을 지켜보던 리액트 팀은 사태의 심각성을 인지했다. 소피가 단호하게 말했다.
“지금 당장 메시지를 내야 해요. 이 오해를 방치하면 걷잡을 수 없이 커질 겁니다.”

그들은 서둘러 공식 블로그와 트위터 계정을 통해 커뮤니티의 가장 큰 우려에 답하기 시작했다. 그 메시지의 핵심은 명확하고 일관되었다.

  1. 훅은 100% 선택 사항입니다 (Hooks are 100% opt-in).
    “여러분은 단 하나의 컴포넌트라도 훅으로 다시 작성할 필요가 없습니다. 훅은 기존 코드베이스를 망가뜨리는 변화(breaking change)가 아닙니다.”

  2. 클래스 컴포넌트는 사라지지 않습니다 (There are no plans to remove classes from React).
    “우리는 페이스북에 있는 수만 개의 클래스 컴포넌트를 계속해서 지원할 것입니다. 훅은 클래스를 대체하는 것이 아니라, 클래스가 해결하지 못했던 문제들을 해결하는 새로운 ‘도구’입니다.”

  3. 점진적으로 도입하세요 (Adopt Hooks gradually).
    “새로운 컴포넌트를 작성할 때 훅을 한번 써보시길 권장합니다. 혹은 복잡하고 버그가 많은 기존 클래스 컴포넌트 하나를 리팩토링해보는 것도 좋습니다. 전체 애플리케이션을 한 번에 바꿀 필요는 전혀 없습니다.”

댄 역시 자신의 개인 트위터 계정을 통해 소통에 나섰다. 그는 기술적인 설명과 함께, 개발자들의 불안을 잠재우기 위한 인간적인 메시지를 전달하는 데 주력했다.

“저희는 여러분이 작성한 코드를 존중합니다. 훅은 여러분의 작업을 더 쉽게 만들어주기 위해 나온 것이지, 여러분에게 부담을 주기 위해 나온 것이 아닙니다. 클래스와 훅은 하나의 애플리케이션 안에서 아무 문제 없이 평화롭게 공존할 수 있습니다.”

리액트 팀의 신속하고 진정성 있는 대응은 들끓던 커뮤니티의 불안감을 서서히 가라앉혔다.
‘클래스는 죽었다’는 극단적인 주장은 힘을 잃기 시작했고, 그 자리에는 ‘어떻게 하면 훅을 잘 쓸 수 있을까?’라는 건설적인 논의가 싹트기 시작했다.

개발자들은 리액트 팀이 자신들의 현실적인 고충을 이해하고 있음을 확인하고 안도했다. 거대한 기술적 변화 앞에서, 이 ‘신뢰’를 구축하는 과정은 훅의 성공적인 안착을 위한 가장 중요한 첫걸음이었다.

이제 커뮤니티를 안심시키는 첫 번째 임무는 완수되었다.
하지만 더 중요한 두 번째 임무가 남아있었다. 개발자들이 훅을 오해하거나 오용하지 않도록, 그 이면에 숨겨진 핵심 원리를 명확하게 설명하는 일이었다.

댄은 자신의 블로그에 새로운 글을 쓰기 위한 빈 페이지를 열었다.
그는 이 새로운 패러다임의 심장에 놓인 ‘호출 순서’라는 개념이, 자칫 ‘마법’처럼 오해받을 수 있음을 누구보다 잘 알고 있었다. 그는 그 마법의 비밀을 모두에게 공개할 준비를 하고 있었다.