CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /Java ์ธํ„ฐ๋ทฐ๋ฅผ ํฌ๋ž™ํ•˜๋Š” ๋ฐฉ๋ฒ•? ์ตœ๊ณ ์˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ขํ˜€์ง
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

Java ์ธํ„ฐ๋ทฐ๋ฅผ ํฌ๋ž™ํ•˜๋Š” ๋ฐฉ๋ฒ•? ์ตœ๊ณ ์˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ขํ˜€์ง

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„! Java ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์ง€๋งŒ Java ์ธํ„ฐ๋ทฐ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ˜ผ๋ž€์Šค๋Ÿฝ๋‹ค๋ฉด ์ž˜ ์ฐพ์•„์˜ค์…จ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ„๋žตํ•œ ๊ฐ€์ด๋“œ๋Š” ์†Œ๊ทœ๋ชจ ์‹ ์ƒ ๊ธฐ์—…๊ณผ ๋Œ€๊ธฐ์—…์—์„œ ๋ฌป๋Š” ์ดˆ๋ณด์ž์™€ ์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์ธํ„ฐ๋ทฐ ์งˆ๋ฌธ์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Java ์ธํ„ฐ๋ทฐ๋ฅผ ํฌ๋ž™ํ•˜๋Š” ๋ฐฉ๋ฒ•?  ์ขํ˜€์ง„ ์ตœ๊ณ ์˜ ๋ฆฌ์†Œ์Šค - 1

์ž๋ฐ” ํ•ต์‹ฌ ์งˆ๋ฌธ

์ฆ‰์‹œ ์ด ๊ฐ€์ด๋“œ๊ฐ€ ๊ธฐ๋ณธ ํ•ต์‹ฌ Java ์งˆ๋ฌธ์œผ๋กœ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ๊ณ ๊ธ‰ ์ฃผ์ œ๋กœ ์ง„ํ–‰๋œ๋‹ค๋Š” ์ ์„ ์–ธ๊ธ‰ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. โ€œ ๋ฌด์—‡์„ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๊นŒ? โ€๋Š” ๋ชจ๋“  ์ง€์›์ž์˜ ๋งˆ์Œ์— ๋›ฐ์–ด ๋“œ๋Š” ์ฃผ์š” ์งˆ๋ฌธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. Java ์ธํ„ฐ๋ทฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ „ํ†ต์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐ๋ทฐ์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Java๋Š” ๊ฐœ๋…์˜ ๋ฐ”๋‹ค์ด๋ฏ€๋กœ Java ์ธํ„ฐ๋ทฐ์—์„œ ๋‹ค์–‘ํ•œ ์งˆ๋ฌธ์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•˜์‹ญ์‹œ์˜ค. ์‹ ์ฐธ์œผ๋กœ์„œ Collections, String, hashcode, API ๋ฐ OOP์™€ ๊ฐ™์€ Java ๊ธฐ๋ณธ ์‚ฌํ•ญ๊ณผ ๊ด€๋ จ๋œ ์งˆ๋ฌธ์„ ์ž์ฃผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋งํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์ œ๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์ž๋ฐ” ๊ธฐ์ดˆ
  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๊ฐ์ฒด ์ง€ํ–ฅ ๊ฐœ๋…
  • ๋‹ค์ค‘ ์Šค๋ ˆ๋”ฉ, ๋™์‹œ์„ฑ ๋ฐ ์Šค๋ ˆ๋“œ ๊ธฐ๋ณธ ์‚ฌํ•ญ
  • ๋‚ ์งœ ์œ ํ˜• ๋ณ€ํ™˜ ๋ฐ ๊ธฐ๋ณธ ์‚ฌํ•ญ
  • ์ž๋ฐ” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ
  • ์“ฐ๋ ˆ๊ธฐ ์ˆ˜๊ฑฐ
  • ์ •๋ ฌ
  • ๋ˆ
  • ๊ฒฌ๊ณ ํ•œ ๋””์ž์ธ ์›์น™
  • GOF ๋””์ž์ธ ํŒจํ„ด
  • ์ถ”์ƒ ํด๋ž˜์Šค ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค
  • Java ๊ธฐ๋ณธ ์‚ฌํ•ญ(์˜ˆ: ๊ฐ™์Œ ๋ฐ ํ•ด์‹œ ์ฝ”๋“œ)
  • ์ œ๋„ค๋ฆญ๊ณผ ์—ด๊ฑฐํ˜•
  • ์ž๋ฐ” IO ๋ฐ NIO
  • ์ผ๋ฐ˜์ ์ธ ๋„คํŠธ์›Œํ‚น ํ”„๋กœํ† ์ฝœ
  • Java์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ •๊ทœ์‹
  • JVM ๋‚ด๋ถ€
  • ์ž๋ฐ” ๋ชจ๋ฒ” ์‚ฌ๋ก€
  • JDBC
  • ๋‚ ์งœ, ์‹œ๊ฐ„ ๋ฐ ๋‹ฌ๋ ฅ
  • Java์˜ XML ์ฒ˜๋ฆฌ
  • JUnit
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์งˆ๋ฌธ
๋˜ํ•œ ์งˆ๋ฌธ์€ ํšŒ์‚ฌ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Java ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๊ธฐ๋ฐ˜ ์•ฑ์œผ๋กœ ์ž‘์—…ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ํ•ต์‹ฌ Java ์ฃผ์ œ(๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๋ฐ ๋™์‹œ์„ฑ, ์ปฌ๋ ‰์…˜, ์ œ๋„ค๋ฆญ, GC ์•Œ๊ณ ๋ฆฌ์ฆ˜, JVM ๋‚ด๋ถ€ ๋ฐ ์—ด๊ฑฐํ˜•)์— ์ค‘์ ์„ ๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Java Web Service ์•ฑ๊ณผ ์‚ถ์„ ์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๊นŒ? ๊ทธ๋Ÿฐ ๋‹ค์Œ REST, SOAP, XML ๋ฐ JSON์— ๋Œ€ํ•œ ํ™•์‹คํ•œ ์ง€์‹์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. Android ๊ฐœ๋ฐœ์ž์—๊ฒŒ Android API๋Š” ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ Java๋Š” ๋ชจ๋“  ์œ ํ˜•์˜ ์ง์—…์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ฐ€์ด๋“œ๊ฐ€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Java์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์งˆ๋ฌธ

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

Java์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์งˆ๋ฌธ

Core Java ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ์ธก๋ฉด ์™ธ์—๋„ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์งˆ๋ฌธ์ด ์—ฌ์ „ํžˆ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ์ปฌ๋ ‰์…˜์ด ๋งค์šฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด๋„ˆ์Šค ํŒ

Java ๊ด€๋ จ ์งˆ๋ฌธ์€ ์Šน๋ฆฌ์˜ ์ ˆ๋ฐ˜์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ์ฑ„์šฉ ๋‹ด๋‹น์ž๊ฐ€ ์ผ๋ฐ˜์ ์ธ ๊ธฐ์ˆ ๊ณผ ํŒ€์—์„œ ์ผํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋ ค์šด ์ธํ„ฐ๋ทฐ ์งˆ๋ฌธ์— ์ƒ๋‹นํ•œ ๋ถ€๋ถ„์„ ์ง€๋ถˆํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž ์žฌ์ ์ธ ๊ณ ์šฉ์ฃผ๊ฐ€ ๋‹น์‹ ์„ ๋ชจ๋ฅด๊ฒŒ ๋ถ™์žก๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋‹ค์Œ ๊ธฐ์‚ฌ๋ฅผ ์ฝ๋Š” ๊ฒƒ์ด ๋‹น์‹ ์˜ ์ง์—… ์ƒํ™œ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ Java ์ธํ„ฐ๋ทฐ์—์„œ ๋ฐœ๊ฒฌ๋œ ๊ฐ€์žฅ ๊นŒ๋‹ค๋กœ์šด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ๋„์›€์„ ์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ง€์‹์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ์†Œ์Šค๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ, ์šฐ๋ฆฌ๋Š” ๋‹น์‹ ์˜ ์ฒซ ์ธํ„ฐ๋ทฐ ์ดํ›„์— ๊ฑฐ์ ˆ๋‹นํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ •์ƒ์ ์ด๋ผ๋Š” ์ ์„ ๊ฐ•์กฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ž์‹ ์„ ์นญ์ฐฌํ•˜๊ณ  ์ด์ „ ์ธํ„ฐ๋ทฐ๋ฅผ ๊ฐ๊ฐ ๋ถ„์„ํ•˜์—ฌ ๋ฏธ๋ž˜์˜ ์ง์—… ์ดํ›„ ๊ฟˆ์˜ ์ง์—…์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋” ๋งŽ์€ ๊ธฐํšŒ๋ฅผ ์–ป์œผ์„ธ์š”. ์ƒˆ๋กœ์šด ์ธํ„ฐ๋ทฐ๋ฅผ ํ†ตํ•ด ์ตœ๊ณ ์˜ ๊ฒŒ์‹œ๋ฌผ์— ๊ฐ€๊นŒ์›Œ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! Java ์ธํ„ฐ๋ทฐ๋ฅผ ํฌ๋ž™ํ•˜๋Š” ๋ฐฉ๋ฒ•?  ์ขํ˜€์ง„ ์ตœ๊ณ ์˜ ๋ฆฌ์†Œ์Šค - 2
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION