다나와의 세 개발자가 검색팀, 오피스팀, 빅데이터팀 등 3개 부서에서 Kotlin을 도입한 경험을 공유한다. Java 대비 null-safety와 간결한 문법을 이유로 도입을 결정했고 Elasticsearch 마이그레이션, PHP 레거시 재개발 등 실제 프로젝트에 적용한 과정을 설명한다.
핵심 포인트- Java와 100% 호환되면서도 null-safety와 간결한 문법을 제공하는 것이 Kotlin 선택의 핵심 이유다.
- 검색팀은 Elasticsearch 버전 업그레이드 작업과 함께 Kotlin으로 마이그레이션을 진행했다.
- 오피스팀은 2010년 PHP로 개발된 가격 갱신 서비스를 Kotlin으로 전면 재개발했다.
- 실제 코드 비교를 통해 동일 로직을 Kotlin이 Java보다 간결하게 표현함을 보여줬다.
상세 정리- 도입 배경: 기존 Java 기반 프로젝트를 유지하면서 코드 간결성과 안전성을 높이기 위한 방법을 찾다가 Kotlin을 선택했다.
- null-safety: Kotlin의 타입 시스템이 컴파일 타임에 null 참조를 검사해 런타임 NullPointerException을 사전에 방지한다.
- Java 호환성: 기존 Java 코드베이스와 같은 JVM에서 동작해 전면 교체 없이 점진적 마이그레이션이 가능하다.
- 검색팀 적용: Elasticsearch 버전 업그레이드 작업을 기회로 관련 코드를 Kotlin으로 마이그레이션했다.
- 오피스팀 적용: 10년 넘은 PHP 레거시 가격 갱신 서비스를 Kotlin으로 전면 재개발해 코드 품질과 유지보수성을 높였다.
- 코드 간결성 비교: 검증 로직 등 구체적인 코드 예시를 Java와 Kotlin으로 나란히 비교해 Kotlin의 간결함을 직접 보여줬다.
- 현황: 검색팀, 오피스팀, 빅데이터팀 3개 부서가 Kotlin을 사용하며 팀 간 지식 공유와 코드 가독성 개선을 지속하고 있다.
왜 읽나Java 레거시 프로젝트에 Kotlin을 점진적으로 도입할 때 어떤 이유로 선택하고 어떤 프로젝트부터 적용했는지 실무 경험을 통해 참고할 수 있다.