코틀린 개발자라면 반드시 읽어야 할 책, 《이펙티브 코틀린》이 최신 개정판으로 돌아왔습니다. 이번 개정판은 ‘코틀린 아카데미’ 시리즈에 맞게 《코틀린 아카데미: 이펙티브 코틀린》으로 제목이 바뀌었으며, 코틀린의 최신 변경 사항에 맞춰 내용이 업데이트되고 새로운 아이템이 추가되었습니다. 

왜 ‘이펙티브 코틀린’인가?

코틀린은 계속해서 진화하고 있습니다. DSL, 인라인 클래스, 코루틴 등 최신 기능이 속속 도입되고 있으며, 기존 자바 기반 프로젝트에도 코틀린이 점점 더 혼용되고 있습니다. 이런 흐름 속에서 코틀린을 ‘효과적으로’ 개발하기 위해선 언어의 기능뿐만 아니라 최고의 실천법(best practice)을 익히는 것이 필요합니다. 《코틀린 아카데미: 이펙티브 코틀린》은 코틀린을 ‘효과적으로’ 사용하는 실천법을 알려 줍니다.

실용적이고 깊이 있는 60가지 전략

이 책은 단순히 문법을 익히는 책이 아닙니다. 책 전반에 걸쳐 ‘좋은 코드’를 구성하기 위한 철학과 구체적인 실천 방안을 60가지 전략으로 제시합니다.

  • 안전성: 플랫폼 타입 제거, 변수 스코프 최소화, 리소스 관리(use 함수 활용) 등 코틀린의 본질적인 강점을 극대화합니다.
  • 가독성: 이름 있는 인수, 명시적 리시버 참조 등 협업에 강한 코드 작성을 위한 가이드가 담겨 있습니다.
  • 코드 설계: 제네릭 활용, 공통 모듈 추출, 추상화 수준 조절 등 유지보수성과 확장성을 고려한 설계 전략을 배웁니다.
  • 효율성: 불필요한 객체 생성을 피하고, 캐싱, 인라인 함수, 값 클래스 등 최신 코틀린 최적화 기법을 소개합니다.

새로 추가된 아이템

이번 개정판에는 최신 코틀린 기능과 현재 개발 환경의 요구사항을 반영하여 실무 중심의 새로운 아이템들이 다수 추가되었습니다.

  • 아이템 2: 임계 영역을 제거하라
  • 아이템 35: 의존성 주입을 고려하라
  • 아이템 48: 객체 선언 사용을 고려하라
  • 아이템 50: 재사용 가능한 객체를 추출하라
  • 아이템 49: 가능하면 캐싱을 사용하라
  • 아이템 55: 요소들을 맵으로 묶는 것을 고려하라
  • 아이템 56: groupBy 대신 groupingBy 사용을 고려하라
  • 아이템 60: 적절한 컬렉션 타입을 사용하라

🎯 대상 독자

  • 코틀린을 이미 현업에서 사용하고 있지만 더 ‘코틀린다운’ 코드를 고민하는 개발자
  • 실무에서 마주치는 다양한 문제를 코틀린의 최신 기능과 모범 사례로 해결하고 싶은 개발자
  • 안드로이드뿐 아니라 서버, 웹, 데이터 등 다양한 영역에서 코틀린을 활용하고자 하는 개발자

💻 소스 코드 다운로드

본문에 소개된 모든 소스 코드는 다음 깃허브 저장소에서 다운로드할 수 있습니다.

https://github.com/MarcinMoskala/effectivekotlin_sources

📚 함께 보면 좋은 인사이트 책

코틀린 개발 실력을 한 단계 끌어올리고 싶다면 《코틀린 아카데미: 이펙티브 코틀린》과 함께하세요. 개발자의 성장 여정을 든든하게 동행해 줄 최고의 가이드가 되어 줄 것입니다.

《코틀린 아카데미: 이펙티브 코틀린》은 다음 서점에서 구입하실 수 있습니다.

예스24 | 교보문고 | 알라딘

정오표