결론부터 말씀드리면, "파일 단위로 교체하는 것은 완벽하게 가능하지만, 하나의 파일 안에서 두 언어를 섞어 쓰는 것은 불가능합니다."
상세한 내용은 다음과 같습니다.
자바와 코틀린은 **'상호 운용성(Interoperability)'**이 100% 보장되도록 설계되었습니다. 따라서 기존 자바 프로젝트를 유지하면서 점진적으로 코틀린으로 전환하는 것이 매우 쉽습니다.
.java)과 코틀린 파일(.kt)은 각각의 컴파일러에 의해 컴파일되지만, 최종적으로는 둘 다 **JVM 바이트코드(.class)**로 변환됩니다. 실행 시점(Runtime)에는 이것이 자바로 만들어졌는지 코틀린으로 만들어졌는지 구분할 필요가 없습니다.src/main/java와 src/main/kotlin 폴더를 동시에 두고, 두 언어의 파일을 자유롭게 섞어서 배치할 수 있습니다. (Gradle이나 Maven 설정만 조금 수정하면 됩니다.)하나의 소스 코드 파일(확장자 단위) 내에서는 반드시 한 가지 언어만 사용해야 합니다.
javac)는 코틀린 문법을 이해하지 못하고, 코틀린 컴파일러(kotlinc)는 자바 문법을 코틀린 파일 안에서 해석하지 않습니다.Hello.java 파일 안에는 오직 자바 문법만 작성해야 합니다.World.kt 파일 안에는 오직 코틀린 문법만 작성해야 합니다.Hello.java에서 World.kt에 정의된 함수를 호출하는 것은 당연히 됩니다.만약 기존 자바 프로젝트를 코틀린으로 옮기고 싶다면 다음과 같은 방법을 주로 사용합니다.
Ctrl + Alt + Shift + K (Windows) 또는 Command + Shift + Option + K (Mac)를 누르면, IDE가 해당 자바 파일을 즉시 코틀린 파일로 변환해 줍니다.data class로 전환하면 코드 양이 획기적으로 줄어들어 체감이 큽니다.요약하자면: 프로젝트 안에 자바 파일과 코틀린 파일이 공존할 수는 있지만, 하나의 .java 파일 내에 코틀린 코드를 적거나 그 반대는 안 됩니다. 따라서 파일 단위로 하나씩 천천히 바꿔나가시면 됩니다.