자바 개발자를 위한 스칼라

스칼라를 사용하면 자바 개발자로 쌓아온 경험을 그대로 살리면서, 훨씬 간결하고 탄탄한 코드를 빠르게 작성할 수 있습니다.

백엔드 개발에 가장 널리 쓰이는 언어 중 하나는 자바(Java)입니다. 백엔드 개발자로 취업을 하려면 자바를 공부해야 하고, 취업하고 나서도 거의 대부분 자바 코드를 다루게 될 것입니다. 자바 생태계는 매우 거대하고 탄탄하며, 개발 작업에 필요한 거의 모든 것이 이미 잘 준비돼 있기 때문에, 무얼 새로 만들 필요 없이, 기존 라이브러리를 잘 가져다 활용하기 좋습니다.

자바를 익숙하게 쓰면서 만족하는 개발자도 많습니다. 전혀 문제 될 게 없습니다. 하지만, 그 강력한 자바 생태계를 더 간결한 문법으로 훨씬 편하게 쓸 수 있다면 어떨까요? 게다가, 다들 좋다고 하는 함수형 프로그래밍을 배워 활용하면서, 이미 내가 잘 알고 있는 객체지향(OOP)도 버리지 않고 함께 활용할 수 있는 좋은 언어가 있다면요? 조금의 노력만으로 내 개발 생산성과 자신감을 대폭 높일 수 있다면요?

스칼라(Scala)는 딱 그런 기대를 만족시킬 프로그래밍 언어입니다. 자바 가상 기계(JVM) 환경 그대로, 자바 라이브러리를 곧바로 쓸 수 있고, 함수형 프로그래밍과 객체 지향 프로그래밍의 강점을 모두 누릴 수 있으며, 훨씬 간결한 코드를 작성할 수 있습니다.

대상 독자와 과정 목표

아무래도 스칼라의 저변이 넓지는 않기 때문에, 새로 개발을 배우는 분들이나 개발자 취업을 목표로 학습 중이신 분들에게 추천하기는 어렵습니다. 이미 자바를 다룰 수 있는 개발자를 대상으로 하며, 자바와 스칼라 문법을 비교해 가며 설명합니다. 기존 자바 개발 지식을 발판 삼아, 빠르게 스칼라의 전체적인 모습을 이해하는 것이 목표입니다.

과정이 끝나면, '스칼라 공부해 볼 만한 가치가 있다'는 결론에 이르면 좋겠습니다.

스칼라 2와 스칼라 3

이 자료를 작성하는 2023년 현재, 스칼라 2와 스칼라 3가 둘 다 널리 쓰이고 있습니다. 마치 파이썬 2와 파이썬 3가 한동안 널리 쓰였듯이, 스칼라도 비슷하게 2와 3이 함께 쓰이는 시절이 당분간 지속될 것 같습니다. 이 자료에서는 스칼라 3.2.2를 기본으로 설명합니다. 파이썬 3와 마찬가지로 스칼라 3가 곧 기본이 될 거라 예상합니다.

저자 소개

김대현은, 카카오(Daum), NHN, LINE+에서 오랫동안 개발자, 개발팀장으로 일했고, 현재는 컨스택츠에서 백엔드 개발자로 일하고 있습니다. 함수형 프로그래밍에 관심이 많아서 클로저(Clojure), 스칼라(Scala), 하스켈(Haskell)을 직업적으로 활용한 경험이 있습니다. 실무 경험을 바탕으로, 그중 가장 실용적인 함수형 프로그래밍 언어는 스칼라라는 결론에 이르러 스칼라를 더 널리 소개할 가치가 있다는 생각에, 이 미니북을 쓰게 되었습니다.

소스 코드 저장소

온라인 강의

  • 이 책의 내용은, 인프런에서 (유료) 온라인 강의로도 제공 중입니다.

연락처: hatemogi at gmail.com