๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

FOR SW ENGINEER๐Ÿ‘ฉ‍๐Ÿ’ป/JAVA22

JAVA_์˜ˆ์™ธํด๋ž˜์Šค์™€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•(try~catch, throws) -์ปดํŒŒ์ผ๋Ÿฌ ์ฒดํฌ ์˜ˆ์™ธ : ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด ์—๋Ÿฌ๊ฐ€ ์•„๋‹ˆ๋ผ ์™ธ๋ถ€์ ์ธ ์—๋Ÿฌ์ผ์ˆ˜์žˆ๊ณ , ๋ฌธ๋ฒ•์ƒ ์ž˜๋ชป ์ ์€ ์—๋Ÿฌ์ด๊ธฐ๋„ ํ•˜๋‹ค. -์‹คํ–‰์˜ˆ์™ธ(Runtime Exception) : ๋ฌธ๋ฒ•์ƒ ๋ฌธ์ œ๋Š” ์—†์ง€๋งŒ ๋ฌธ์ œ(์—๋Ÿฌ)๋ฐœ์ƒ. => ์™„๋ฒฝํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ์กด์žฌํ•˜์ง€ ์•Š๋‹ค. โ–ถ์ฃผ์š” ์‹คํ–‰ ์˜ˆ์™ธ โœณ ์ตœ์ƒ์œ„ ์˜ˆ์™ธ ํด๋ž˜์Šค : Exception โœณ 1. NullPointerException ๊ฐ์ฒด ์ฐธ์กฐ๊ฐ€ ์—†๋Š” ์ƒํƒœ(๋น„์–ด์žˆ๋Š” ์ƒํƒœ), ์ฆ‰ null๊ฐ’์„ ๊ฐ–๋Š” ์ฐธ์กฐ ๋ณ€์ˆ˜๋กœ ๊ฐ์ฒด ์ ‘๊ทผ ์—ฐ์‚ฐ์ž์ธ dot(.)๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๋ฐœ์ƒ. 2. ArrayIndexOutOfBoundsException ๋ฐฐ์—ด์—์„œ ์ธ๋ฑ์Šค ๋ฒ”์œ„ ์ดˆ๊ณผํ•ด ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋ฐœ์ƒ. 3. NumberFormatException ๋ฌธ์ž์—ด์ด ์ˆซ์ž๋กœ ๋˜์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ˆซ์ž๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๋ฌธ์ž์—ด์ด .. 2021. 9. 30.
JAVA_์ธํ„ฐํŽ˜์ด์Šค(Interface) ์ธํ„ฐํŽ˜์ด์Šค(Interface) 1. ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ƒ๊ธด์ด์œ  - ๊ธฐ๋ณธ ํด๋ž˜์Šค๋Š” ๋‹ค์ค‘ ์ƒ์†์„ ์ง€์›ํ•˜์ง€ ์•Š์•„ ๋ฌธ์ œ ๋ฐœ์ƒ. 2. ์ธํ„ฐํŽ˜์ด์Šค - ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ƒ์ˆ˜, ์ถ”์ƒ๋ฉ”์„œ๋“œ ๊ฐ€์ง€๊ณ  ์žˆ์Œ. - ์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์„œ๋“œ ์ถ”์ƒ๋ฉ”์„œ๋“œ ํ˜•์‹์œผ๋กœ ์„ ์–ธํ•˜๋ฉด abstract๋ถ™์ด์ง€ ์•Š๋”๋ผ๋„ ์ž๋™์œผ๋กœ ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ๋ถ™๊ฒŒ ๋จ. - ํด๋ž˜์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•  ๋•Œ ํด๋ž˜์Šค ์ด๋ฆ„ ๋’ค์— implementsํ‚ค์›Œ๋“œ ์‚ฌ์šฉ. - ์ถ”๊ฐ€์ ์œผ๋กœ static, default๋ฉ”์„œ๋“œ ์„ ์–ธ ๋˜ํ•œ ๊ฐ€๋Šฅํ•จ. โ–ถ ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋ณธ๋ฌธ๋ฒ• ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ์œ„ํ•ด impletmentsํ•œ ํ›„ ์ธํ„ฐํŽ˜์ด์Šค ๋‚ด์—์žˆ๋Š” ๋ฉ”์†Œ๋“œ Overridigํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๋ฐœ์ƒ. 3. ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ1 - ๋‹ค์ค‘์ƒ์†์ด ๊ฐ€๋Šฅ - ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‹ค์ค‘์ƒ์† ํ‘œํ˜„ ๊ฐ€๋Šฅ. - ์—ฌ๋Ÿฌ ์ธํ„ฐํŽ˜์ด์Šค ๋™์‹œ๊ตฌํ˜„ ๊ฐ€๋Šฅ. - ๋‹จ.. 2021. 9. 14.
JAVA_์ถ”์ƒํ™”(Abstract) ์ถ”์ƒํ™”(Abstract) - abstractํ‚ค์›Œ๋“œ ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ์— ์ ์šฉ๋จ. - ์ถ”์ƒ(abstract)ํด๋ž˜์Šค๋Š” ์‹ค์ œ ํด๋ž˜์Šค๋“ค์˜ ๋ฉ”์„œ๋“œ๋“ค์˜ ์ด๋ฆ„์œผ ํ†ต์ผํ•  ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•จ. - ์ถ”์ƒ(abstract) ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š” ํด๋ž˜์Šค๋Š” ๋ฐ˜๋“œ์‹œ ์ถ”์ƒ ํด๋ž˜์Šค์—ฌ์•ผ ํ•จ. - ์ถ”์ƒํด๋ž˜์Šค์— ๋ฐ˜๋“œ์‹œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋งŒ ์„ ์–ธํ•  ํ•„์š”๋Š” ์—†๊ณ  ์ผ๋ฐ˜ ๋ฉ”์„œ๋“œ๋„ ์„ ์–ธ ๊ฐ€๋Šฅ. โ–ถ ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๋‚˜์œ ์˜ˆ์‹œ -๋ถ€๋ชจํด๋ž˜์Šค HeadStore๋ฅผ ์ƒ์†๋ฐ›์€ SeoulStore์—์„œ melon๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ๋นผ๋จน๊ฒŒ๋˜๋ฉด, - ์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ๋„์ถœํ•ด ๋‚ผ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์‹ค์ „์ƒํ™ฉ์—์„œ ์ด ์‹ค์ˆ˜๋Š” ์•„์ฃผ ํฐ ์‹ค์ˆ˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Œ. - ์ด๋Ÿฌํ•œ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”์ƒํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•จ. 1. ์ถ”์ƒํด๋ž˜์Šค - ์ถ”์ƒํด๋ž˜์Šค๋Š” newํ‚ค์›Œ๋“œ ์ด์šฉํ•ด ๊ฐ์ฒด ๋งŒ๋“ค์ง€ ๋ชปํ•˜๊ณ  ์˜ค.. 2021. 9. 13.
JAVA_์ •์  ์ œํ•œ์ž (Static) ์‚ฌ์šฉ์ œํ•œ์ž(Usage Level modifier) Static - static๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด๊ฐ„ ๊ฐ’์˜ ๊ณต์œ ๋ฅผ ์˜๋ฏธ - static๋ฉค๋ฒ„๋Š” ๊ฐ์ฒด ์ƒ์„ฑ ์—†์ด ํด๋ž˜์Šค๋ช….์ด๋ฆ„ ์œผ๋กœ ์ฐธ์กฐ ๊ฐ€๋Šฅ - static๋ฉ”์„œ๋“œ๋Š” ๊ฐ™์€ static๋ฉค๋ฒ„๋งŒ ์ฐธ์กฐ๊ฐ€๋Šฅ. 1.์ •์ ์ œํ•œ์ž ํŠน์ง• - static์ œํ•œ์ž๋Š” ๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ์— ์ ์šฉ๋˜๋Š” ์ž๋ฐ”์˜ ํ‚ค์›Œ๋“œ - static๋ฉ”์„œ๋“œ๋‚˜ ๋ณ€์ˆ˜๋Š” ํ•ด๋‹น ํด๋ž˜์Šค ๊ฐ์ฒด ์—†์ด๋„ ์ฐธ์กฐ๊ฐ€๋Šฅ. - static๋ธ”๋ก(Static ๋ฉ”์„œ๋“œ, ์ •์  ์ดˆ๊ธฐํ™”) ์•ˆ์—๋Š” static๋ณ€์ˆ˜๋งŒ ์‚ฌ์šฉํ•ด์•ผํ•˜๊ณ , static๋ฉ”์„œ๋“œ๋งŒ ํ˜ธ์ถœ๊ฐ€๋Šฅ. - static์ œํ•œ์ž๋Š” ์ง€์ •๋œ ๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ์ฒด์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ์–ด this๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†์Œ. - static๋ฉ”์„œ๋“œ๋Š” non-static๋ฉ”์„œ๋“œ๋กœ ์žฌ์ •์˜(Overriding) ๋  ์ˆ˜ ์—†์Œ. - ๋Œ€ํ‘œ์ ์ธ.. 2021. 9. 12.