백엔드 개발자를 준비하면서 처음 접했던 강의는 생활코딩이다. 입문 시기에 원리를 설명해주는 egoing님의 설명을 들으며 Java나 JS, Python에 친숙해졌다. 아직도 초보지만 강의 중 egoing님이 자주 하시는 말이 있다. 바로 ‘이 코드가 1억 명이 쓰는 애플리케이션이라고 상상하라’는 말이다. 처음엔 ‘그래야 이해가 잘 되나보다’라고 머리로 이해했지만 이제는 피부로 느끼고 있다.
물론 내가 지금 1억명이 사용하는 어플리케이션을 만들지 않지만 왜 1억명이 쓰는 것처럼 상상해야 하는지 알겠다. 지금 Java의 Enum이라는 문법을 배우고 있다. Enum은 처음부터 있던 문법이 아니다. 시간이 지나 필요에 의해 필요 때문에 생겼다. 그렇다면 반드시 불편함을 해소하기 위해 존재하는 문법이다.
하지만 처음 Enum을 배울 때 도저히 왜 쓰는지 이해가 안됐다. 안 됐다. 단순히 상수를 모아서 처리하는 문법이라는데 그냥 쓰는 것보다 더 귀찮아 보였고 어려웠기 때문이다. 이해가 안 됐던 이유는 내가 아주 기초적인 코드를 작성하고 있었기 때문이다. 사용자가 많지 않고 단지 나만 사용하는 코드를 작성하니 도저히 필요성을 못 느끼는 것이다.
그래서 만약 내 코드가 1억 명이 쓰는 어플리케이션이라면 상수도 수천, 수백 개가 있을테니까 있을 테니까 그 땐 Enum이 유용하겠다는 생각이 들었다. 매번 클래스에 상수를 선언하면 코드도 복잡해지니 그 상수들을 Enum이라는 클래스에 담아놓고 사용하면 아주 편리할 것이다.
이런 이유로 egoing님의 멘트, ‘1억 명이 사용하는 것이라 상상하라’가 피부에 와닷는다.