내가 대학교에서 자바를 처음 배우기 시작했을 때가 2016년 9월이었다. 그 당시에 자바 서적들을 보게 되면 JAVA8 포함이라는 문구가 많이 적혀있었던 것을 볼 수 있었는데 아마도 자바 8이 나온 지 얼마 되지 않았기 때문이었을 것이다. 자바 8의 경우에는 2014년도에 나왔는데 2014년도에 그 기술이 나왔으니 2016년도 교재 면 충분히 자바 8이 포함되어 있다고 강조할만하다. 그리고 그 당시 수업을 듣고 나서 자바 람다식에 대해 구글링을 해보았다. 대체적으로 커뮤니티의 반응은 나온 지 얼마 안 된 신기술이라 람다식을 쓰고 읽을 줄 아는 사람이 별로 없기 때문에 람다를 실무에 적용하기에는 시기 상조라는 말이 많았던 걸로 기억을 한다.
https://namu.wiki/w/Java/%EB%B2%84%EC%A0%84%20%EC%A0%95%EB%B3%B4
Java/버전 정보 - 나무위키
이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권
namu.wiki
이제 자바 8이 나온 지가 어느덧 7년이 넘었다. 7년이 넘었는데도 신기술이라고 하기에는 좀 무리가 있다. 하지만 나는 아직도 람다가 신기술이라는 생각에 빠져있었는데 그 이유는 아마도 아직도 람다를 사용하는 개발자 또는 프로젝트가 그렇게 많지 않기 때문이라고 생각된다. 아마 한창 뜨고 있는 네카라쿠배(네이버, 카카오, 라인, 쿠팡, 배달의 민족)는 람다를 많이 사용하고 있을 것이다. 내가 있는 현장에서 사용되지 않는다고 하여 배우지 않고 if else for 문만 사용하고 있다가는 3류 개발자가 될 것임이 뻔하기 때문에 새로운 것을 공부해보고자 람다와 관련된 서적을 구매하게 됐다.
우선 시중에 나와있는 자바 서적 중에서 람다에 특화된 교재는 몇 권 없었기에 선택의 여지가 그렇게 많지 않아. 자바 8 람다의 힘이라는 서적을 구매했다.
책 1권을 다 읽어보니 람다식을 처음 배우기에는 상당히 괜찮은 책이라는 느낌을 받았다. 자바 기초 서적으로 공부했을 때 람다식에 관한 부분은 대충 한번 읽고 넘어갔기 때문에 람다가 상당히 생소하고 어려운 줄 알고 있었는데 이 책을 읽어보니 람다라는 개념이 그렇게 어려운 개념이 아니었다. 책 설명이 람다로 뜬금없이 엄청 어려운 난이도의 로직을 풀어낸다거나 그런 내용이 아니라 처음에는 아주 간단하게 람다에 대해 설명하고 간단한 20보다 큰 수를 찾는 예제 등을 이용하여 설명한다. 그렇기 때문에 책을 천천히 읽는다면 아주 큰 어려움은 없을 것이다. 물론 후반부에 가니까 조금 어려워지긴 했는데 다른 책에 비해서는 그렇게 난이도가 확 올라간다는 느낌을 받지는 않았다.
자바 8 람다를 어느 정도 알게 됐더니 애니메이션 주인공이 새로운 스킬을 얻은 것과 같은 느낌을 받았다. 소스코드가 짧아지기 때문에 읽기도 편하고 병렬처리가 가능하기 때문에 속도 면에서도 훨씬 더 이득이다. 물론 지금 있는 현장에서는 람다를 사용할 수 없다는 것이 아쉽기는 하다. 지금 내가 일하고 있는 개발 현장 자체에서 List, Map를 쓰지 말고 본인들이 개발한 라이브러리를 사용하라고 하니... 프레임워크 설계자는 무슨 생각으로 저런 프레임워크를 개발한 건지 이해를 할 수가 없다.