๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Environment·Tool/IntelliJ IDEA

IntelliJ์—์„œ Groovy ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ณ  ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์‹คํ–‰ํ•˜๊ธฐ

by Leica 2020. 2. 26.
๋ฐ˜์‘ํ˜•

IntelliJ์—์„œ Groovy ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ณ  ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์‹คํ–‰ํ•˜๊ธฐ

 

๐Ÿ’ก IntelliJ IDEA 2019.3 Ultimate / JDK 8 / Groovy 3

 

1. Groovy SDK ๋‹ค์šด๋กœ๋“œ

https://groovy.apache.org/download.html ์— ์ ‘์†ํ•œ๋‹ค.

 

Download 3.0.1์„ ํด๋ฆญํ•ด์„œ ๋‹ค์šด๋กœ๋“œ๋ฐ›๋Š”๋‹ค.

 

SDK๋Š” zipํŒŒ์ผ๋กœ ์ œ๊ณต๋œ๋‹ค.

 

์ ๋‹นํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ์••์ถ•์„ ํ’€์–ด์ค€๋‹ค.

SDK ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์— groovy ํด๋”๋ฅผ ๋งŒ๋“ค์–ด ๊ด€๋ฆฌํ•˜๋ฉด ์ข‹๋‹ค.

 

2. Groovy Project ์ƒ์„ฑ

New Project ๋˜๋Š” New Module ์ฐฝ์„ ์—ด๊ณ  ์™ผ์ชฝ์—์„œ Groovy๋ฅผ ์„ ํƒํ•œ๋‹ค.

์•„์ง Groovy SDK๋ฅผ ๋“ฑ๋กํ•œ์ ์ด ์—†์œผ๋ฉด Groovy Library์— none์ด๋ผ๊ณ  ํ‘œ์‹œ๋  ๊ฒƒ์ด๋‹ค.

Groovy library ์šฐ์ธก์— Create... ๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

์•„๊นŒ ์••์ถ•์„ ํ‘ผ groovy sdk ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๊ณ  OK๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด Groovy library์— ์„ ํƒํ•œ groovy sdk๊ฐ€ ์ง€์ •๋  ๊ฒƒ์ด๋‹ค.

Module(Project) SDK๋Š” JDK1.8๋กœ ์„ ํƒํ•˜๊ณ  Next๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

ํ”„๋กœ์ ํŠธ(๋ชจ๋“ˆ)๋ช…์„ ์ž…๋ ฅํ•˜๊ณ  Finish๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

Groovy ํ”„๋กœ์ ํŠธ(๋ชจ๋“ˆ)์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

 

3. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐ ์‹คํ–‰

New - Groovy Class๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

ํŒŒ์ผ๋ช…์„ ์ž…๋ ฅํ•œ๋‹ค.

ํŒจํ‚ค์ง€๋„ ํ•œ๋ฒˆ์— ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด groovy.Test๋ผ๊ณ  ์ž…๋ ฅํ•˜์˜€๋‹ค.

 

Groovy ํด๋ž˜์Šค ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

 

Test.groovy

1
2
3
4
5
6
7
8
9
10
11
package groovy
 
= 20
println a
println plus(1020)
 
def plus(x, y) {
    x + y
}
 
println "์‹คํ–‰ ์™„๋ฃŒ!"
cs

 

์ž‘์„ฑ์ด ์™„๋ฃŒ๋˜๋ฉด Run ๋‹จ์ถ•ํ‚ค Ctrl + Shift + F10(์œˆ๋„์šฐ ๊ธฐ์ค€)์„ ๋ˆŒ๋Ÿฌ ์‹คํ–‰ํ•ด๋ณด์ž.

 

์‹คํ–‰ ๊ฒฐ๊ณผ

 

4. Groovy Class์˜ ์‹คํ–‰ ์›๋ฆฌ

๊ทธ๋ฃจ๋น„ ์†Œ์Šค ํŒŒ์ผ(Test.groovy)์˜ ์ปดํŒŒ์ผ๊ฒฐ๊ณผ๋กœ ์ž๋ฐ” ํด๋ž˜์Šค ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.

 

์ƒ์„ฑ๋œ Test.class ํŒŒ์ผ

 

ํ•ด๋‹น class ํŒŒ์ผ์„ ์—ด๋ฉด ๋””์ปดํŒŒ์ผ๋œ ๋‚ด์šฉ์„ ํ™•์ธํ• ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ์ด์šฉํ•ด ์‹คํ–‰ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Test.groovy ์ฝ”๋“œ์™€ Test ํด๋ž˜์Šค ๋‚ด์šฉ์„ ๋น„๊ตํ•ด๋ณด์ž.

 

Test.groovy์˜ plus() ๋ฉ”์†Œ๋“œ๋Š” Test ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋กœ ๋ณ€ํ™˜๋œ๋‹ค.

๊ทธ ์™ธ์— a = 20, println a์™€ ๊ฐ™์ด ๋ฉ”์†Œ๋“œ ๋ฐ–์— ์ž‘์„ฑํ•œ ๋ชจ๋“  ์ฝ”๋“œ๋Š” Test ํด๋ž˜์Šค์˜ run() ๋ฉ”์†Œ๋“œ ์•ˆ์— ๋“ค์–ด๊ฐ„๋‹ค.

Test ํด๋ž˜์Šค๊ฐ€ ์ƒ์„ฑ๋ ๋•Œ main() ๋ฉ”์†Œ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š”๋ฐ ์ด main() ๋ฉ”์†Œ๋“œ์—์„œ run() ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

์ด๋Ÿฐ ์›๋ฆฌ๋กœ Test.groovy์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ์•ž์—์„œ์ฒ˜๋Ÿผ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

References

์—ดํ˜ˆ๊ฐ•์˜ ์ž๋ฐ” ์›น ๊ฐœ๋ฐœ ์›Œํฌ๋ถ(ํ”„๋ฆฌ๋ ‰, 2016, ์—„์ง„์˜)

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€