S01L08 – ์›์‹œ ์ž๋ฃŒํ˜• – ๋ถ€๋™ ์†Œ์ˆ˜์  ์ž๋ฃŒํ˜•

html

Java Primitive Data Types ์ดํ•ด: Float vs Double

๋ชฉ์ฐจ

  1. ์†Œ๊ฐœ ............................................................................. 1
  2. Java Primitive Data Types ๊ฐœ์š” ............. 3
  3. Java์˜ Float ........................................................................ 5
  4. Java์˜ Double .................................................................... 9
  5. Float vs Double: ๋น„๊ต .......................... 13
  6. Java์—์„œ ์ถœ๋ ฅ ํฌ๋งทํŒ… .................................... 17
  7. Maven์œผ๋กœ Java ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ................. 21
  8. ๊ฒฐ๋ก  .................................................................................. 25

์†Œ๊ฐœ

๋‹ค์žฌ๋‹ค๋Šฅํ•˜๊ณ  ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ Java๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ primitive data types๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค‘ float์™€ double๋Š” ์†Œ์ˆ˜์ ์„ ํฌํ•จํ•œ ์ˆซ์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ด ๋‘ ์œ ํ˜• ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ „์ž์ฑ…์€ Java์—์„œ float์™€ double์˜ ๋ณต์žกํ•œ ์ธก๋ฉด์„ ๊นŠ์ด ํŒŒ๊ณ ๋“ค์–ด ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„, ๋ฒ”์œ„, ์ •๋ฐ€๋„ ๋ฐ ์ ์ ˆํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ํƒ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๋ณด์ž์ด๋“  ๊ธฐ๋ณธ ์ง€์‹์„ ๊ฐ€์ง„ ๊ฐœ๋ฐœ์ž์ด๋“ , ์ด ๊ฐ€์ด๋“œ๋Š” ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์‚ฌ์šฉํ•  ๋•Œ ์ •๋ณด์— ์ž…๊ฐํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋Š” ๋ฐ ํ•„์š”ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.


Java Primitive Data Types ๊ฐœ์š”

Java์˜ primitive data types๋Š” ์–ธ์–ด์—์„œ ๋ฐ์ดํ„ฐ ์กฐ์ž‘์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ด๋“ค์€ ์–ธ์–ด์— ์˜ํ•ด ๋ฏธ๋ฆฌ ์ •์˜๋˜๋ฉฐ ์˜ˆ์•ฝ์–ด๋กœ ์ด๋ฆ„์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด์™€ ๋‹ฌ๋ฆฌ primitive data types๋Š” ๊ฐ’ ์ž์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ง์ ‘ ์ €์žฅํ•˜์—ฌ ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

์ฃผ์š” Primitive Data Types

  • byte: 8๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜
  • short: 16๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜
  • int: 32๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜
  • long: 64๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜
  • float: 32๋น„ํŠธ ๋ถ€๋™ ์†Œ์ˆ˜์ 
  • double: 64๋น„ํŠธ ๋ถ€๋™ ์†Œ์ˆ˜์ 
  • char: 16๋น„ํŠธ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž
  • boolean: true ๋˜๋Š” false๋ฅผ ๋‚˜ํƒ€๋ƒ„

์ด ๋ฐ์ดํ„ฐ ์œ ํ˜•๋“ค์˜ ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ๊ฐ’ ๋ฒ”์œ„๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ํšจ๊ณผ์ ์ธ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ์ž…๋‹ˆ๋‹ค.


Java์˜ Float

Float๋ž€?

Java์—์„œ float ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋‹จ์ •๋ฐ€๋„ 32๋น„ํŠธ IEEE 754 ๋ถ€๋™ ์†Œ์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋†’์€ ์ •๋ฐ€๋„๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๋Œ€๊ทœ๋ชจ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž ๋ฐฐ์—ด์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„

  • ํฌ๊ธฐ: 4๋ฐ”์ดํŠธ (32๋น„ํŠธ)
  • ๋ฒ”์œ„: ์•ฝ ยฑ3.4eยฑ38 (์†Œ์ˆ˜์  ์ดํ•˜ 7์ž๋ฆฌ ์ •๋ฐ€๋„)

Float ๋ณ€์ˆ˜ ์„ ์–ธ

float ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ ค๋ฉด ์ˆซ์ž ๊ฐ’ ๋’ค์— f ๋˜๋Š” F๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:

ํ•ต์‹ฌ ๊ฐœ๋…

  • ์ •๋ฐ€๋„: float๋Š” ์ตœ๋Œ€ 7์ž๋ฆฌ์˜ ์ •๋ฐ€๋„๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋งŽ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ถฉ๋ถ„ํ•˜์ง€๋งŒ ๋†’์€ ์ •๋ฐ€๋„๊ฐ€ ํ•„์š”ํ•œ ๊ณ„์‚ฐ์—์„œ๋Š” ๋ฐ˜์˜ฌ๋ฆผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ: ๊ทธ๋ž˜ํ”ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๊ฐ„๋‹จํ•œ ๊ณผํ•™ ๊ณ„์‚ฐ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ์ด ์ค‘์š”ํ•œ ์ƒํ™ฉ์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ

Output:

์„ค๋ช…:

์ฝ”๋“œ๋Š” ๋‘ ๊ฐœ์˜ float ๋ณ€์ˆ˜, max์™€ min์„ ์„ ์–ธํ•˜์—ฌ float๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. System.out.println ๋ฌธ์€ ์ด๋Ÿฌํ•œ ๊ฐ’์„ ์ง€์ˆ˜ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.


Java์˜ Double

Double์ด๋ž€?

Java์˜ double ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋ฐฐ์ •๋ฐ€๋„ 64๋น„ํŠธ IEEE 754 ๋ถ€๋™ ์†Œ์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” float๋ณด๋‹ค ๋†’์€ ์ •๋ฐ€๋„์™€ ๋” ๋„“์€ ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋” ๋ณต์žกํ•œ ๊ณ„์‚ฐ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„

  • ํฌ๊ธฐ: 8๋ฐ”์ดํŠธ (64๋น„ํŠธ)
  • ๋ฒ”์œ„: ์•ฝ ยฑ1.7eยฑ308 (์†Œ์ˆ˜์  ์ดํ•˜ 15์ž๋ฆฌ ์ •๋ฐ€๋„)

Double ๋ณ€์ˆ˜ ์„ ์–ธ

Double ๋ณ€์ˆ˜๋Š” ์ ‘๋ฏธ์‚ฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์ง€๋งŒ, ๋ช…ํ™•์„ฑ์„ ์œ„ํ•ด d ๋˜๋Š” D๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

ํ•ต์‹ฌ ๊ฐœ๋…

  • ์ •๋ฐ€๋„: double๋Š” ์ตœ๋Œ€ 15์ž๋ฆฌ์˜ ์ •๋ฐ€๋„๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ณ„์‚ฐ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ ์˜ค๋ฅ˜์˜ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ: ๊ธˆ์œต ๊ณ„์‚ฐ, ๊ณผํ•™์  ๊ณ„์‚ฐ ๋ฐ ๋†’์€ ์ •๋ฐ€๋„๊ฐ€ ์š”๊ตฌ๋˜๋Š” ๋ชจ๋“  ์‹œ๋‚˜๋ฆฌ์˜ค์— ์„ ํ˜ธ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ

Output:

์„ค๋ช…:

์ฝ”๋“œ๋Š” ๋‘ ๊ฐœ์˜ double ๋ณ€์ˆ˜, max์™€ min์„ ์ •์˜ํ•˜์—ฌ double์ด ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. System.out.println ๋ฌธ์€ ์ด๋Ÿฌํ•œ ๊ฐ’์„ ์ง€์ˆ˜ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


Float vs Double: ๋น„๊ต

float์™€ double์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ •๋ณด์— ์ž…๊ฐํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๊ทธ๋“ค์˜ ์ฃผ์š” ์†์„ฑ์„ ๊ฐ•์กฐํ•œ ๋น„๊ต ํ‘œ์ž…๋‹ˆ๋‹ค:

ํŠน์ง• Float (float) Double (double)
ํฌ๊ธฐ 4๋ฐ”์ดํŠธ (32๋น„ํŠธ) 8๋ฐ”์ดํŠธ (64๋น„ํŠธ)
์ •๋ฐ€๋„ ์•ฝ 7์ž๋ฆฌ ์†Œ์ˆ˜ ์•ฝ 15์ž๋ฆฌ ์†Œ์ˆ˜
๋ฒ”์œ„ ยฑ3.4eยฑ38 ยฑ1.7eยฑ308
๊ธฐ๋ณธ๊ฐ’ 0.0f 0.0d
์ €์žฅ ์‚ฌ์šฉ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„ ์ ์Œ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„ ๋งŽ์Œ
์‚ฌ์šฉ ์‚ฌ๋ก€ ๊ทธ๋ž˜ํ”ฝ, ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ ๊ธˆ์œต, ๊ณผํ•™์  ๊ณ„์‚ฐ

Float๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ

  • ๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ: ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ์šฐ๋ ค๋˜๋Š” ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์„ ๋‹ค๋ฃฐ ๋•Œ.
  • ์„ฑ๋Šฅ: ๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์ด ๋น ๋ฅด๊ฒŒ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•˜๊ณ  ๋†’์€ ์ •๋ฐ€๋„๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ.

Double์„ ์‚ฌ์šฉํ•  ๋•Œ

  • ๋†’์€ ์ •๋ฐ€๋„ ์š”๊ตฌ: ์ •๋ฐ€๋„๊ฐ€ ์ค‘์š”ํ•œ ๊ณ„์‚ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธˆ์œต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ.
  • ๋„“์€ ๊ฐ’ ๋ฒ”์œ„: float์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ๋งค์šฐ ํฌ๊ฑฐ๋‚˜ ์ž‘์€ ์ˆซ์ž๋ฅผ ๋‹ค๋ฃฐ ๋•Œ.

Java์—์„œ ์ถœ๋ ฅ ํฌ๋งทํŒ…

๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž๋ฅผ ์ฝ๊ธฐ ์‰ฝ๊ณ  ์ •ํ™•ํ•œ ํ˜•์‹์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์€ ํŠนํžˆ ์ •๋ฐ€๋„๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Java๋Š” printf ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ถœ๋ ฅ์˜ ์ •ํ™•ํ•œ ํ˜•์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

printf ์‚ฌ์šฉํ•˜๊ธฐ

printf ๋ฉ”์†Œ๋“œ๋Š” ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ž๋ฆฌ ํ‘œ์‹œ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ํฌ๋งทํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ฌธ์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ํ˜•์‹ ์ง€์ •์ž๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

ํ˜•์‹ ์ง€์ •์ž

  • %.2f: ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž๋ฅผ ์†Œ์ˆ˜์  ์ดํ•˜ ๋‘ ์ž๋ฆฌ๋กœ ํฌ๋งทํ•ฉ๋‹ˆ๋‹ค.
  • %e: ์ง€์ˆ˜ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์ˆซ์ž๋ฅผ ํฌ๋งทํ•ฉ๋‹ˆ๋‹ค.
  • %f: ์ˆซ์ž๋ฅผ ๋ถ€๋™ ์†Œ์ˆ˜์ ์œผ๋กœ ํฌ๋งทํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ

Output:

์„ค๋ช…:

  • ๊ธฐ๋ณธ ํฌ๋งทํŒ…: double ๊ฐ’์˜ ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๋‘ ์ž๋ฆฌ ์†Œ์ˆ˜: ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์†Œ์ˆ˜์  ์ดํ•˜ ๋‘ ์ž๋ฆฌ๋กœ ํ‘œ์‹œ๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
  • ์ง€์ˆ˜ ํ‘œ๊ธฐ๋ฒ•: ๋งค์šฐ ํฌ๊ฑฐ๋‚˜ ์ž‘์€ ์ˆซ์ž๋ฅผ ๊ณผํ•™์  ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œ์‹œํ•˜์—ฌ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํฌ๋งทํŒ…์˜ ์ค‘์š”์„ฑ

  • ๊ฐ€๋…์„ฑ: ์ˆซ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ฝ๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ •๋ฐ€๋„ ์ œ์–ด: ๋ถˆํ•„์š”ํ•œ ์†Œ์ˆ˜ ์ž๋ฆฟ์ˆ˜๋กœ ์ธํ•œ ํ˜ผ๋ž€์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ‘œ์‹œ๋˜๋Š” ์ •๋ฐ€๋„์˜ ์ˆ˜์ค€์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ณผํ•™์  ํ‘œํ˜„: ๋งค์šฐ ํฌ๊ฑฐ๋‚˜ ์ž‘์€ ์ˆซ์ž๋ฅผ ํ‘œ์ค€ํ™”๋œ ํ˜•์‹์œผ๋กœ ์ œ์‹œํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Maven์œผ๋กœ Java ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

Maven์€ ์ฃผ๋กœ Java ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉ๋˜๋Š” ๊ฐ•๋ ฅํ•œ ๋นŒ๋“œ ์ž๋™ํ™” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์˜์กด์„ฑ ๊ด€๋ฆฌ, ์ฝ”๋“œ ์ปดํŒŒ์ผ, ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒจํ‚ค์ง•์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ Maven ํ”„๋กœ์ ํŠธ ๋กœ๋“œํ•˜๊ธฐ

์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ๋“œํ•  ๋•Œ, Maven ์„ค์ •์€ ์˜์กด์„ฑ๊ณผ ๋นŒ๋“œ ๊ตฌ์„ฑ์„ ์›ํ™œํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Maven ํ”„๋กœ์ ํŠธ ๋กœ๋“œ ๋‹จ๊ณ„

  1. IDE ์—ด๊ธฐ: IntelliJ IDEA๋‚˜ Eclipse์™€ ๊ฐ™์€ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ(IDE)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ธฐ์กด ์„ค์ • ์‚ญ์ œ: ์˜ค๋ž˜๋˜์—ˆ๊ฑฐ๋‚˜ ๋ถˆํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ ์„ค์ •์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ: ์†Œ์Šค ์ฝ”๋“œ์™€ Maven ์„ค์ •์ด ํฌํ•จ๋œ .zip ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ์–ป์Šต๋‹ˆ๋‹ค.
  4. ํ”„๋กœ์ ํŠธ ์—ด๊ธฐ: IDE์˜ ํŒŒ์ผ ์—ด๊ธฐ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  5. Main ํด๋ž˜์Šค ์‹คํ–‰: main ๋ฉ”์†Œ๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€ ๋ฐ ์˜์กด์„ฑ ์ฒ˜๋ฆฌ

์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€์™€ JAR ํŒŒ์ผ ์˜์กด์„ฑ์ด ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ, Maven์€ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋ณต์žก์„ฑ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Maven ๊ตฌ์„ฑ ํŒŒ์ผ ์ˆ˜์ •

  • pom.xml: Project Object Model(POM) ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธ์˜ ์˜์กด์„ฑ, ๋นŒ๋“œ ๊ตฌ์„ฑ ๋ฐ ๊ธฐํƒ€ ์„ค์ •์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜์กด์„ฑ ์ถ”๊ฐ€: pom.xml์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ช…์‹œํ•˜์—ฌ ์ž๋™์œผ๋กœ ํฌํ•จ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

pom.xml ์˜ˆ์ œ ์Šค๋‹ˆํŽซ

์„ค๋ช…:

pom.xml ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธ์˜ ๊ทธ๋ฃน ID, ์•„ํ‹ฐํŒฉํŠธ ID, ๋ฒ„์ „ ๋ฐ ์˜์กด์„ฑ์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. Maven์€ ์ด ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ์™€ ์˜์กด์„ฑ์„ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Maven ๋ช…๋ น ์‹คํ–‰

  • Clean Package: mvn clean package
    ์ด ๋ช…๋ น์€ ์ด์ „ ๋นŒ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒˆ ๋นŒ๋“œ๋กœ ํŒจํ‚ค์ง•ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰: ํŒจํ‚ค์ง• ํ›„ Maven ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์ธ ํด๋ž˜์Šค๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Maven ์‚ฌ์šฉ์˜ ์ด์ 

  • ์˜์กด์„ฑ ๊ด€๋ฆฌ: ํ”„๋กœ์ ํŠธ ์˜์กด์„ฑ์„ ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๊ด€๋œ ๋นŒ๋“œ: ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ๋นŒ๋“œ๊ฐ€ ์žฌํ˜„ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑ ๋‹จ์ˆœํ™”: ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์„ ์ค‘์•™์ง‘์ค‘ํ™”ํ•˜์—ฌ ์„ค์ • ์‹œ๊ฐ„๊ณผ ์˜ค๋ฅ˜๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ float์™€ double ์ค‘ ์„ ํƒํ•˜๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๊ณ„์‚ฐ ์ •๋ฐ€๋„๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. float๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ์ด ์ค‘์š”ํ•˜๊ณ  ์ •๋ฐ€๋„ ์š”๊ตฌ๊ฐ€ ๋‚ฎ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•œ ๋ฐ˜๋ฉด, double๋Š” ํ–ฅ์ƒ๋œ ์ •๋ฐ€๋„์™€ ๋” ๋„“์€ ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ณต์žกํ•œ ๊ณ„์‚ฐ ๋ฐ ๊ณผํ•™์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ, printf์™€ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถœ๋ ฅ์„ ํฌ๋งทํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋ฉด ์ˆ˜์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…ํ™•ํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Maven๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ ํšจ๊ณผ์ ์ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋Š” Java ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์—… ํ๋ฆ„์„ ๊ฐ„์†Œํ™”ํ•˜๊ณ , ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ, ๊ฒฌ๊ณ ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

์ฐธ๊ณ : ์ด ๊ธฐ์‚ฌ๋Š” AI์— ์˜ํ•ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.







Share your love