안드로이드 앱 개발을 하다가 안드로이드 스튜디오를 보다 보면 Gradle 스크립트가 무엇으로 작성되어 있는지 궁금할 때가 있을 것이다 이것이 비슷하긴 하지만 Kotlin도 이니고 Java도 아닌 무언가인데 그렇다면 이건 무엇일까? 바로 이것이 Groovy이란 언어로
이번글에선 이러한 Groovy에 대해 알아볼 것이다
Groovy이란?
우선 Groovy가 무엇인지부터 알아보자
Groovy에 풀네임은 Apache Groovy로 Java를 발전시킨 객체 지향 프로그래밍 언어라고 보통 소개하며 JVM에서 실행되는 스크립트 언어다
위키 백과에선 그루비(Groovy)를 자바에 파이썬, 루비, 스몰토크 등의 특징을 더한 동적 객체 지향 프로그래밍 언어라고 소개하고 있는데
역사를 살펴보면 2002년 영국 출신의 프로그래머인 제임스 스트라칸에 의해 창시되어 현재 아파치 사용 허가서 2.0 아래에 소스와 바이너리가 배포, 공개되어 아파치 소프트웨어 재단이 관리하고 있다고 한다
Groovy의 특징
다음으로 Groovy는 어떤 특징을 가진 언어일까 알아보면
자바와의 호환성: Groovy는 완벽하게 자바와 호환되기에 자바 라이브러리를 Groovy에서 직접 사용할 수 있으며, 반대로 Groovy로 작성된 코드도 자바 애플리케이션에서 사용할 수 있다
동적 타이핑: Groovy는 동적 타이핑을 지원하기에 변수의 타입을 실행 시간에 결정하여 개발자가 좀 더 빠르고 손 쉽게 코드를 작성할 수 있다
간결한 문법: Groovy의 문법은 자바보다 훨씬 간결한데 예시로 세미콜론은 선택 사항이며, getter와 setter 메서드는 자동으로 생성되는 등 좀 더 간편하다
고급 기능: 클로저, 빌더, 메타 프로그래밍 등과 같은 고급 기능을 지원한다
다음과 같은 특징을 가졌다 뭔가 Kotlin과 비슷한 장점을 가진 느낌..?
Hello Groovy!
마지막으로 Groovy의 문법을 간단히 확인 해볼 수 있는 프로그래밍 언어 학습의 국룰인 “Hello Groovy!”를 작성해보자!
1
2
3
4
5
class HelloWorld {
static void main(String[] args){
println("Hello, Groovy!");
}
}
해당 코드는 Groovy에서 Hello, world!를 출력하는 코드로 여기서 세미콜론은 생략이 가능하다
결론
이렇게 오늘은 안드로이드 스튜디오에서 Gradle 스크립트에 대해 글을 작성하기 위해 찾아보다가 Groovy 언어로 딴길로 새게 되어 Groovy에 대한 글을 작성하게 되었는데
마무리를 어떻게 지을지 몰라 Groovy 언어에 대한 개인적인 생각을 말해보자면 Groovy 언어는 개인적인 생각이지만 Kotlin의 겹치는 점이 많은 언어 같은데 조금 더 발전된 현대적 언어 같아서 Kotlin이 조금 더 나아보인다는 아주 지극히 개인적인 총평을 내리면서 글을 마쳐보려고 한다
아 참고 Groovy의 확장자는 .groovy 이다