훅이 리액트의 기본값이 되자, 개발자 커뮤니티에서는 새로운 교육적 논쟁이 불붙었다.
“이제 막 리액트에 입문하는 신입 개발자에게, 클래스 컴포넌트를 가르쳐야 할까요?”
이 질문은 온라인 포럼과 기술 블로그, 그리고 코딩 부트캠프 강사들 사이에서 뜨거운 감자가 되었다.
찬성론자들의 주장:
“물론 가르쳐야 합니다. 세상에는 여전히 수많은 클래스 기반의 레거시 코드베이스가 존재합니다. 신입 개발자가 회사에 입사했을 때, 그들이 마주할 코드는 훅이 아닐 가능성이 높습니다. 생명주기 메서드나 this 바인딩을 이해하지 못하면, 기존 코드를 유지보수할 수 없을 겁니다.”
“또한, 클래스를 배움으로써 리액트가 어떤 문제를 해결하기 위해 훅을 만들었는지 그 역사적 맥락을 더 깊이 이해할 수 있습니다. 이것은 기술을 더 근본적으로 이해하는 데 도움이 됩니다.”
반대론자들의 주장:
“아니요, 더 이상 가르칠 필요 없습니다. 신입 개발자에게 가장 중요한 것은 리액트의 핵심 멘탈 모델을 빠르고 정확하게 습득하는 것입니다. 처음부터 클래스의 복잡성을 가르치는 것은 불필요한 인지 부하를 유발하고, 학습 곡선을 가파르게 만들 뿐입니다. 훅으로 시작하는 것이 훨씬 더 직관적이고 효율적입니다.”
“레거시 코드는 필요할 때, 실무를 통해 자연스럽게 배우면 됩니다. 모든 신입에게 과거의 유산을 짊어지게 할 필요는 없습니다. 우리는 미래를 향해 나아가야 합니다.”
이 논쟁은 단순히 ‘무엇을 가르칠 것인가’의 문제를 넘어, 기술 교육의 철학에 대한 질문으로 이어졌다.
과거의 역사를 모두 이해해야만 현재를 제대로 쓸 수 있는가?
아니면, 현재의 가장 좋은 도구부터 먼저 익히고, 과거는 필요할 때 참고하는 것이 더 효율적인가?
댄은 이 흥미로운 토론을 조용히 지켜보았다.
그는 양측의 주장에 모두 일리가 있다고 생각했다. 정답은 없었다. 교육의 목표와 대상에 따라 다른 접근법이 필요할 터였다.
하지만 그가 이 논쟁을 보며 분명하게 느낀 것이 하나 있었다.
‘클래스를 가르쳐야 하는가’라는 질문 자체가, 훅의 승리를 증명하는 가장 강력한 증거라는 사실이었다.
불과 몇 년 전만 해도, 클래스는 리액트 그 자체였다.
리액트를 가르친다는 것은 곧 클래스를 가르친다는 의미였다.
하지만 이제, 클래스는 누군가에게는 ‘가르칠 필요가 없는’ 과거의 유산, 즉 ‘역사’의 영역으로 넘어가고 있었다.
마치 자동차 운전을 배우는 사람에게, 더 이상 말에 안장을 얹고 고삐를 쥐는 법부터 가르치지 않는 것과 같았다.
댄은 이 변화가 자랑스러웠다.
그들과 팀이 시작했던 작은 혁명은, 단순히 코드를 바꾸는 것을 넘어, 리액트라는 거대한 기술이 다음 세대에게 전달되는 방식 자체를 바꾸어 놓은 것이다.
논쟁이 어떻게 결론 나든, 한 가지는 명확했다.
미래의 리액트 개발자들은 더 이상 this와의 전투에서 시간을 허비하지 않을 것이다. 그들은 훅이라는 훨씬 더 직관적이고 강력한 도구를 들고, 처음부터 창조적인 문제 해결에 집중할 수 있게 될 터였다.
리액트의 역사는, 그렇게 한 페이지를 넘기고 있었다.


