산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드

Groovy란?

Apache Groovy는 JVM에서 실행되는 객체지향, Java-문법-호환 언어입니다. Java 바이트코드로 컴파일되므로 Java Runtime Environment가 있는 모든 시스템에서 실행 가능합니다. Groovy는 동적 타이핑, 클로저, DSL 지원, 간결한 문법을 추가하여 Java의 대체재가 아닌 이상적인 동반자가 됩니다.

왜 Groovy를 사용하는가?

Groovy 역사

Groovy 핵심 기능

Groovy 설치 방법

  1. Java 설치 확인 – Java 설치 가이드
  2. Groovy 다운로드 페이지에서 설치 프로그램 다운로드
  3. 설치 프로그램 실행, 언어 선택, OK 클릭
  4. 환영 화면에서 NEXT 클릭 Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드
  5. 라이선스 동의 Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드
  6. 설치할 구성요소 선택 후 NEXT Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드
  7. 설치 디렉토리 선택 후 NEXT Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드
  8. 시작 메뉴 폴더 설정 후 NEXT Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드
  9. 설치 완료 (경로 기본값 유지) 후 NEXT Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드
  10. 시작 메뉴에서 Groovy Console 실행하여 확인 Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드

Groovy Hello World

Java 버전:

public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Groovy 버전 – 단 한 줄:

println "Hello World."

Groovy는 세미콜론, 괄호, 장황한 System.out.println이 필요 없습니다.

변수

Java는 명시적 타입 필요:

public class Demo {
    public static void main(String[] args) {
        int x = 104;
        System.out.println(x);
        // x = "Guru99"; // 컴파일 타임 에러
    }
}

Groovy는 def로 동적 타이핑 지원:

def x = 104
println x.getClass()
x = "Guru99"
println x.getClass()

출력:

class java.lang.Integer
class java.lang.String

여러 줄 문자열은 삼중 따옴표 사용:

def x = """Groovy at Guru99"""
println x

연산자

Groovy는 일반적인 범주 지원:

루프

Java for-루프:

for (int i = 0; i <= 5; i++) {
    System.out.println(i);
}

Groovy 동등 표현:

0.upto(4) { println "$it" }
2.upto(4) { println "$it" }
5.times { println "$it" }
0.step(7, 2) { println "$it" }

조건문

문장설명
if조건이 참일 때 실행
if/elsetrue 분기 실행, 아니면 else 분기
nested if다중 조건 분기
switch다중 분기 로직의 깔끔한 대안
nested switchGroovy에서 지원

리스트

리스트는 순서 있는 참조 컬렉션으로 대괄호로 정의:

자주 쓰는 리스트 메서드:

메서드설명
add()끝에 값 추가
contains()값 존재 시 true
get()인덱스 위치 요소
isEmpty()요소 없으면 true
minus()지정 요소 제외한 새 리스트 반환
plus()요소 추가한 새 리스트 반환
pop()마지막 요소 제거
remove()인덱스 위치 요소 제거
reverse()뒤집힌 리스트 반환
size()요소 개수
sort()정렬된 복사본 반환

예제:

def y = ["Guru99", "is", "Best", "for", "Groovy"]
println y
y.add("Learning")
println(y.contains("is"))
println(y.get(2))
println(y.pop())

출력:

[Guru99, is, Best, for, Groovy]
true
Best
Learning

맵

맵은 키-값 쌍 컬렉션입니다.

맵 메서드:

메서드설명
containsKey()키 존재 확인
get()키에 대한 값 반환
keySet()키 집합
put()키/값 쌍 추가 또는 교체
size()엔트리 수
values()값 컬렉션

예제:

def y = [fName:'Jen', lName:'Cruise', sex:'F']
print y.get("fName")

출력:

Jen

클로저

클로저는 객체로 취급되는 코드 블록으로, 람다와 유사합니다.

간단한 클로저:

def myClosure = { println "My First Closure" }
myClosure()

매개변수 있는 클로저:

def sum = { a, b, c -> return a + b + c }
println sum(1, 2, 3)

출력:

6

Groovy vs Java

GroovyJava
기본 접근 제어자는 public기본은 package-private
필드에 자동 getter/setter수동 정의 필요
큰따옴표로 문자열 인터폴레이션인터폴레이션 없음
타이핑 선택적타이핑 필수
세미콜론 불필요세미콜론 필수
모든 스크립트가 자동으로 Script 클래스 확장실행을 위해 public static void main 필요

흔한 오해

오해현실
Groovy는 스크립팅 전용다재다능: 웹 프레임워크, 데이터 처리 등 다양
Groovy는 순수 함수형함수형 개념 차용하지만 OOP 언어
Groovy는 TDD에만 이상적TDD 지원하지만 여러 시나리오에서 유용
Groovy는 Grails에 한정Grails는 인기 프레임워크지만 Groovy는 독립적

Groovy 단점

필수 Groovy 도구

사용 예:

groovysh

Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드

groovyConsole

Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드

groovy

Groovy 마스터하기: Java 플랫폼에서 스크립팅 입문 가이드

요약

java

  1. Java for 루프 마스터하기: 문법, 예제, 모범 사례
  2. 라즈베리 파이 장애물 회피 로봇 만들기 - 초보자 가이드
  3. 초보자를 위한 CNC 라우터: 손쉬운 정밀도로 시장을 선도하세요
  4. PowerShell 마스터: 강력한 스크립팅을 위한 초보자 가이드
  5. C 프로그래밍 입문자를 위한 종합 PDF 튜토리얼 마스터하기
  6. Java 배열 튜토리얼: 선언, 생성, 초기화와 예제 코드
  7. Java 스택 vs 힙: 메모리 할당 실전 가이드
  8. 자바에서 암스트롱 수 판별 및 나열하기: for 루프 활용
  9. 자바 팰린드롬 수 판별기: while/for 루프 알고리즘
  10. 금속 제작 입문: 초보자를 위한 명확한 가이드