❗ JVM(Java Virtual Machine)에서 실행되는 동적 프로그래밍 언어이다.
Groovy는 Java와 유사한 구문을 사용하며, JVM 위에서 동작하기에 Java와 호환이 가능하다. 문법이 매우간결하며 빌드 관리 도구인 Gradle Script를 작성하기 위해 사용된다.
하지만, Kotlin이 나온 이후부터는, Gradle을 Kotlin으로 구성하는 추세이다.
Java 생태계의 대부분을 차지하고 있는 Android 및 Spring이 Kotlin으로 작성하고 있는 만큼, Kotlin에 대한 이해는 높지만, Groovy 언어에 대한 이해는 높지 않기 때문이다.
결정적으로, Groovy는 별도로 프로젝트를 구성하지 않으면 자동으로 완성이 안된다. 이러한 문제로 요즘은 자동완성이 되는 Kotlin으로 빌드 스크립트를 작성하는 추세이다.
간단한 Groovy 예시 코드
class Person {
String name
int age
void sayHello() {
println "Hello, I'm ${name}!"
}
}
def person = new Person(name: "John", age: 25)
person.sayHello()
자바 개발자들에게 보다 편리하고 생산적인 개발 경험을 제공할 수 있는 언어라는 생각이 들었다. 또한, Java와의 호환성과 유연성을 통해 기존 Java 코드와의 통합이 용이하고, 강력한 문법과 기능을 제공하여 개발자의 생산성을 높일 수 있다.
하지만, 현재 대세인,, Kotlin을 이길 수 있을까,, 타입의 안전성 부분과 Null 처리 측면에서 대규모 프로젝트에는 Kotlin이 월등하다고 생각이 들고, Gradle Script도 기존에 Groovy로 작성된 것이 많아 아직 빠르게 Kotlin으로 변하지 않고 있는 것이지, 언젠가는 Kotlin으로 모두 변환될 것 같다.