๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค (3)

Tech Log ๐Ÿ› ๏ธ

Gradle ์ด๋ž€?

Gradle ์ด๋ž€? ์ž๋ฐ”๋ฅผ ์ด์šฉํ•ด์„œ ์ฝ”๋”ฉ์„ ํ•˜๋‹ค๋ณด๋ฉด Gradle ์„ ์‚ฌ์šฉํ•ด์„œ ๋นŒ๋“œํ•˜๋Š” ๊ฒฝํ—˜์„ ๋งŽ์ด ํ•œ๋‹ค. ๊ทผ๋ฐ ์ด Gradle ์€ ์ •ํ™•ํžˆ ์–ด๋–ค ์—ญํ• ์„ ํ• ๊นŒ? ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋จผ์ € ์ฐพ์•„๋ณด๋ฉด, Gradle is an open-source build automation tool flexible enough to build almost any type of software. Gradle ์€ ์Šค์Šค๋กœ ๋นŒ๋“œ ์ž๋™ํ™”(build automation) ํˆด์ด๋ผ๊ณ  ์†Œ๊ฐœํ•˜๊ณ  ์žˆ๋‹ค. ๐Ÿง ๋นŒ๋“œ๋ž€ ๋ฌด์—‡์ผ๊นŒ? ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ผ๋‹จ Gradle์ด ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๊ด€๋ฆฌํ•ด์คŒ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž์˜ ์‚ถ์„ ์ข€ ๋” ์œคํƒํ•˜๊ฒŒ ํ•ด์ค€๋‹ค๋Š” ๊ฒƒ์€ ์•Œ๊ฑฐ๊ฐ™๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ Gradle์€ ๋‹ค..

JVM ๋‚ด๋ถ€๋กœ

JVM์ด๋ž€? ์ž๋ฐ”๋ฅผ ๊ฐ€์ง€๊ณ  ์ฝ”๋”ฉ์„ ํ•˜๋Š” ์‚ฌ๋žŒ์€ ํ•œ๋ฒˆ ์ฏค JVM ์ด๋ž€ ๋‹จ์–ด๋ฅผ ๋“ค์–ด์™”์„ ๊ฒƒ์ด๋‹ค. ์ด JVM์€ ์ปดํ“จํ„ฐ์™€์˜ ์†Œํ†ต์„ ๋„์™€์ฃผ๋Š”๋ฐ, ์–ด๋–ค ์‹์œผ๋กœ ์†Œํ†ต์„ ๋„์™€์ฃผ๋Š” ์ง€ ๋‹จ๊ณ„๋ณ„๋กœ ์‚ดํŽด๋ณด์ž ๋จผ์ € ์šฐ๋ฆฌ๊ฐ€ ์ฝ”๋”ฉ์„ ํ•˜๊ณ  ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ํ†ตํ•ด์„œ ์ปดํŒŒ์ผํ•˜๋ฉด .class ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค. ํ˜„์žฌ ์ด ํด๋ž˜์Šค ํŒŒ์ผ์€ ๊ธฐ๊ณ„์–ด๊ฐ€ ์•„๋‹Œ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋กœ ๋˜์–ด์žˆ๋‹ค. ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ž€ ๋ฌด์—‡์ผ๊นŒ? JVM์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ๋ณ€ํ™˜๋œ ์ž๋ฐ” ์†Œ์Šค์ฝ”๋“œ์ด๋‹ค. ์–ธ์ œ ์–ด๋””์„œ๋“  ์šด์˜์ฒด์ œ์— ๊ด€๊ณ„์—†์ด JVM ์œ„์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” System.out.println("Hello World"); ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค. // class version 61.0 (61) // access flags 0x21 public clas..

equals & hash code ์™€ ์ด๋ฅผ ๊ฐ™์ด ์žฌ์ •์˜ ํ•˜๋Š” ์ด์œ 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค์—์„œ ์ง„ํ–‰ํ•œ Tech Log ํ™œ๋™ ๋ชฉ์ ์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 1. String ํด๋ž˜์Šค์˜ equals & hashcode ์†Œํ”„ํŠธ์›จ์–ด ์„ธ๊ณ„์—์„œ๋Š” ๋ฌธ์ž์—ด๋„ ์ด์ƒํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. ๋ฐ”๋กœ ๋™๋“ฑ์„ฑ์„ ๋ณด์žฅํ•ด์ฃผ๊ธฐ ์œ„ํ•จ์ธ๋ฐ, ์ด๋•Œ ์•ž์—์„œ ๋งํ•œ equals ๋ฉ”์†Œ๋“œ์™€ HashCode ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ฅผ ์žฌ์ •์˜ํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด๊ฐ€๋ฉด์„œ equals ์™€ HashCode ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž ๋ณธ๋ฌธ์—์„œ๋Š” String์„ ๋ชจ๋ฐฉํ•œ String_test ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ๊ฒƒ์ด๋ฉฐ , ๊ฐ๊ฐ์˜ ๊ฒฐ๊ณผ๊ฐ’๋“ค์„ ๋งž์ถฐ๋‚˜๊ฐˆ ๊ฒƒ์ด๋‹ค. equals ๋น„๊ต ๋จผ์ € ๊ฐ์ฒด์˜ ๋™๋“ฑ์„ฑ์„ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด equals์˜ ๊ฐ’์„ ๋น„๊ตํ•ด๋ณด์ž String string1 = new String("hi"); String string..