[Java]Calendarํด๋ž˜์Šค
ยท
๐Ÿ—จ๏ธ Language/Java
๋‚ ์งœ์™€ ์‹œ๊ฐ„ โ–ถ java.util.Date - ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๋‹ค๋ฃฐ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํด๋ž˜์Šค (JDK 1.0) - Date์˜ ๋ฉ”์„œ๋“œ๋Š” ๊ฑฐ์˜ deprecated(์‚ฌ์šฉ์•ˆํ•จ) ๋˜์—ˆ์ง€๋งŒ, ์—ฌ์ „ํžˆ ์“ฐ์ด๊ณ ๋Š” ์žˆ๋‹ค. โ–ถ java.util.Calendar - Dateํด๋ž˜์Šค๋ฅผ ๊ฐœ์„ ํ•œ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค(JDK 1.1). ์—ฌ์ „ํžˆ ๋‹จ์ ์ด ์กด์žฌ โ–ถ java.time ํŒจํ‚ค์ง€ - Date์™€ Calendar์˜ ๋‹จ์ ์„ ๊ฐœ์„ ํ•œ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋“ค์„ ์ œ๊ณต(JDK 1.8) - Date์™€ Calendar์˜ ๋‹จ์ ์ด์—ˆ๋˜ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๋”ฐ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค. ( LocalDate, LocalTime, LocalDateTime ) Calendarํด๋ž˜์Šค Calendarํด๋ž˜์Šค๋Š” ์ถ”์ƒ ํด๋ž˜์Šค์ด๋ฏ€๋กœ getInstance()๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„๋œ ๊ฐ์ฒด๋ฅผ ์–ป์–ด์•ผ ํ•œ๋‹ค. ์œ„ ์ฝ”..
[Java]StringBuilder, Mathํด๋ž˜์Šค, ๋ž˜ํผํด๋ž˜์Šค, Nuberํด๋ž˜์Šค, ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜, ์˜คํ† ๋ฐ•์‹ฑ&์–ธ๋ฐ•์‹ฑ
ยท
๐Ÿ—จ๏ธ Language/Java
StringBuilder StringBuilder๋ž‘ StringBuffer๋Š” ๊ฑฐ์˜ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋”ฑ ํ•œ ๊ฐ€์ง€ ์ฐจ์ด์ ์ด ์žˆ๋‹ค. StringBuffer๋Š” ๋™๊ธฐํ™”๋˜์–ด ์žˆ์–ด์„œ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ์— ์•ˆ์ „ํ•˜๋‹ค(thread-safe) ํ•˜์ง€๋งŒ StringBuilder๋Š” ๋™๊ธฐํ™”๊ฐ€ ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค. ์“ฐ๋ ˆ๋“œ์— ๋Œ€ํ•ด์„œ๋Š” ์ถ”ํ›„ ์ž์„ธํ•˜๊ฒŒ ๊ณต๋ถ€ํ•  ๊ฒƒ์ด์ง€๋งŒ ๋Œ€์ถฉ ์•Œ์•„๋ณด์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ : ํ•œ ๋ฒˆ์— 1๊ฐœ ์ž‘์—… ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ : ํ•œ ๋ฒˆ์— n๊ฐœ ์ž‘์—… ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ๋ฅผ ๋ฉ”์‹ ์ €๋กœ ์˜ˆ๋ฅผ ๋“ค๋ฉด ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ์„œ ํŒŒ์ผ์„ ๊ณต์œ ๋ฐ›๊ณ  ๊ณต์œ ๋ฐ›์€ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ•˜๋Š” ๋™์•ˆ ๋‚˜๋Š” ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ๋‹ต์žฅ์„ ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ์ด ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ์ด๋‹ค. ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ๋Š” ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์˜ ์ž‘์—…๋ฐ–์— ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์š”์ฆ˜์—๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๊ฒƒ์ด ์•„๋‹Œ ์ด์ƒ ๊ฑฐ์˜ ..
[Java]StringBuffer ํด๋ž˜์Šค, StringBuffer ๋ฉ”์„œ๋“œ
ยท
๐Ÿ—จ๏ธ Language/Java
StringBufferํด๋ž˜์Šค StringBuffer๋Š” String์ฒ˜๋Ÿผ ๋ฌธ์žํ˜• ๋ฐฐ์—ด(char [])์„ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, String๊ณผ ๋‹ฌ๋ฆฌ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. (mutable) ์œ„ ์˜ˆ์ œ์ฒ˜๋Ÿผ StringBuffer๋Š” ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ฃผ์†Œ๋ฅผ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๊ทธ๋ƒฅ append()๋ฅผ ํ†ตํ•ด์„œ ์ž๊ธฐ ์ž์‹ ์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฐ์—ด์€ ๊ธธ์ด๋ฅผ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฐฐ์—ด์˜ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•˜๋ฉด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ์— ๊ธธ์ด๊ฐ€ 5์ธ arr๋ฐฐ์—ด์—์„œ append()๋ฅผ ํ†ตํ•˜์—ฌ 6์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด, ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ๋ถ€์กฑํ•˜๊ธฐ์— ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ์ด ๋˜๊ณ , arr์—์žˆ๋Š” ๋‚ด์šฉ์ด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ๋ณต์‚ฌ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ , arr์€ ๊ธฐ์กด์˜ ๊ฐ์ฒด์ฃผ์†Œ๋ฅผ ๋ฒ„๋ฆฌ๊ณ , ๋ณต์‚ฌ๋œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋ฅผ ..
[Java]Stringํด๋ž˜์Šค, ๋ฌธ์ž์—ด ๋น„๊ต, ๋นˆ ๋ฌธ์ž์—ด, String์ƒ์„ฑ์ž
ยท
๐Ÿ—จ๏ธ Language/Java
Stringํด๋ž˜์Šค Stringํด๋ž˜์Šค = ๋ฐ์ดํ„ฐ(char[]) + ๋ฉ”์„œ๋“œ(๋ฌธ์ž์—ด ๊ด€๋ จ) ์œ„ ์ฝ”๋“œ๋Š” Stringํด๋ž˜์Šค์˜ ์‹ค์ œ ์ฝ”๋“œ์ด๋‹ค. Stringํด๋ž˜์Šค์˜ ํŠน์ง•์œผ๋กœ๋Š” ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ถˆ๋ณ€(immutable) ํด๋ž˜์Šค์ด๋‹ค. ์œ„ ์˜ˆ์ œ ์ฝ”๋“œ์—์„œ a์™€ b๋ฅผ ๋”ํ•œ ๊ฐ’์„ a์— ๋‹ด์•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, a๊ฐ€ ๋‹ด๊ณ  ์žˆ๋Š” a๊ฐ€ ab๋กœ ๋ณ€๊ฒฝ์ด ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, "ab"๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ์ƒˆ๋กœ ์ƒ์„ฑ์ด ๋˜์–ด a๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ๊ฐ€ "a"์—์„œ "ab"์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋ง์…ˆ ์—ฐ์‚ฐ์ž(+)๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ์€ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์˜ ๊ฒฐํ•ฉ์ด๋‚˜ ๋ณ€๊ฒฝ์ด ์žฆ๋‹ค๋ฉด, ๋‚ด์šฉ์„ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ StringBuffer๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋ฌธ์ž์—ด์˜ ๋น„๊ต String str = "abc";์™€ String str = new String(..
[Java]hashCode(), toString(), Objectํด๋ž˜์Šค, equals()
ยท
๐Ÿ—จ๏ธ Language/Java
hashCode() ๊ฐ์ฒด์˜ ํ•ด์‹œ ์ฝ”๋“œ(hash code)๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ Objectํด๋ž˜์Šค์˜ hashCode()๋Š” ๊ฐ์ฒด์˜ ์ฃผ์†Œ๋ฅผ int๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค. Objectํด๋ž˜์Šค์˜ hashCode๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด native๋ผ๋Š” ๊ฒƒ์ด ๋‹ฌ๋ ค์žˆ๊ณ , ๋ฉ”์„œ๋“œ์˜ ๋‚ด์šฉ ๋˜ํ•œ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. native๋Š” OS๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค. ์ฃผ๋กœ C์–ธ์–ด๋กœ ์ž‘์„ฑ์ด ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ฆ‰ ๋‚ด์šฉ์ด ์—†๋Š”๊ฒƒ์€ ์ด๋ฏธ C์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์–ด์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด์šฉ์ด ์—†๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  equals()๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๋ฉด, hashCode()๋„ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์•ผ ํ•œ๋‹ค. equls()์˜ ๊ฒฐ๊ณผ๊ฐ€ true์ธ ๋‘ ๊ฐ์ฒด์˜ ํ•ด์‹œ ์ฝ”๋“œ๋Š” ๊ฐ™์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์œ„ ์ฝ”๋“œ์ฒ˜๋Ÿผ equls๊ฐ€ ture๋กœ ํ™•์ธ์ด ๋˜๋ฉด str1๊ณผ s..
[Java]์˜ˆ์™ธ์ฒ˜๋ฆฌ (4) - ์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ, ์˜ˆ์™ธ ๋˜๋˜์ง€๊ธฐ, ์—ฐ๊ฒฐ๋œ ์˜ˆ์™ธ
ยท
๐Ÿ—จ๏ธ Language/Java
์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ ๋งŒ๋“ค๊ธฐ ์ง์ ‘ ์˜ˆ์™ธ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์กฐ์ƒ์€ Exception๊ณผ RuntimeException ์ค‘์—์„œ ์„ ํƒ ํ‘œ์ค€ ์˜ˆ์™ธ ํด๋ž˜์Šค๋กœ๋„ ๋งŽ์€ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ๋•Œ๋Š” ์ง์ ‘ ์˜ˆ์™ธ๋ฅผ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค. ์˜ˆ์™ธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ํ•ด์•ผ ํ•  ๊ฒƒ์€ ์ž์‹ ์˜ ์˜ˆ์™ธ๋ฅผ checked๋กœ ํ•  ๊ฒƒ์ธ๊ฐ€? unchecked๋กœ ํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ๊ธฐ์ค€์€ ๋ชจํ˜ธํ•˜์ง€๋งŒ ๊ธฐ์ค€์ด ์—†๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค. API ์ชฝ์—์„œ ์˜ˆ์™ธ๋ฅผ ๋˜์กŒ์„ ๋•Œ API ์‚ฌ์šฉ์ž ์ชฝ์—์„œ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด checked ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. checked์˜ˆ์™ธ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ธฐํšŒ๋ฅผ ์ฃผ๋Š” ๊ฒƒ์ด๋ฉด์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ•์ œํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ checked ์˜ˆ์™ธ๋ฅผ ๋„ˆ๋ฌด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋ฉด API ์‚ฌ์šฉ์ž..
[Java]์˜ˆ์™ธ์ฒ˜๋ฆฌ (3) - ์˜ˆ์™ธ ๋ฐœ์ƒ, ์˜ˆ์™ธ ์„ ์–ธ, finally๋ธ”๋Ÿญ
ยท
๐Ÿ—จ๏ธ Language/Java
์˜ˆ์™ธ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ 1. ์—ฐ์‚ฐ์ž new๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐœ์ƒ์‹œํ‚ค๋ ค๋Š” ์˜ˆ์™ธ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“  ๋‹ค์Œ Exception e = new Exception(" ๊ณ ์˜๋กœ ๋ฐœ์ƒ์‹œ์ผฐ์Œ "); 2. ํ‚ค์›Œ๋“œ throw๋ฅผ ์ด์šฉํ•ด์„œ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. throw e; ์œ„ ์˜ˆ์ œ try๋ฌธ์—์„œ Exception e= new Exception()์„ ํ†ตํ•ด ์˜ˆ์™ธ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ํ‚ค์›Œ๋“œ throw๋ฅผ ์ด์šฉํ•ด์„œ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด catch๋ธ”๋Ÿญ์—์„œ ๊ฐ์ฒด์™€ ๋™์ผํ•œ ์˜ˆ์™ธ๋ฅผ ์žก์œผ๋ฉด ๊ณ ์˜๋กœ ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ๋ฅผ catch์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋‘ ๋ฌธ์žฅ์„ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ํ•ฉ์น˜๋ฉด throw new Exception("๊ณ ์˜๋กœ ๋ฐœ์ƒ์‹œ์ผฐ์Œ.");์ด ๋œ๋‹ค. checked์˜ˆ์™ธ, unchecked์˜ˆ์™ธ checked์˜ˆ์™ธ (Exception๊ณผ ๊ทธ ์ž์†) : ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ..
[Java]์˜ˆ์™ธ์ฒ˜๋ฆฌ (2) - try-catch๋ฌธ, printStackTrace()์™€ getMessage()
ยท
๐Ÿ—จ๏ธ Language/Java
[Java]์˜ˆ์™ธ์ฒ˜๋ฆฌ (1) - ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜, ์˜ˆ์™ธ ํด๋ž˜์Šค์˜ ๊ณ„์ธต๊ตฌ์กฐ ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜ ์ปดํŒŒ์ผ ์—๋Ÿฌ(compile-time error) : ์ปดํŒŒ์ผ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ(runtime error) : ์‹คํ–‰ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ๋…ผ๋ฆฌ์  ์—๋Ÿฌ(logical error) : ์ž‘์„ฑ ์˜๋„์™€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ ์ปดํŒŒ์ผ ์—๋Ÿฌ๋Š” ja pids.tistory.com try-catch๋ฌธ try-catch๋ฌธ์˜ ๋ฌธ๋ฒ•์€ ์œ„ ์ฝ”๋“œ์™€ ๊ฐ™๋‹ค. try๊ตฌ๋ฌธ์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , catch๊ตฌ๋ฌธ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, try๊ตฌ๋ฌธ์—์„œ ์‡ผํ•‘์„ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด, catch1์—์„œ ๋ˆ์ด ๋ถ€์กฑํ•  ๋•Œ ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌ, catch2์—์„œ ๋ฌผ๊ฑด์ด ๋ถ€์กฑํ• ๋•Œ ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌ, catch3์—์„œ ๊ฐ€๊ฒŒ๊ฐ€ ๋ฌธ ๋‹ซ์•˜์„ ๋•Œ ์—๋Ÿฌ๋ฅผ ..
[Java]์˜ˆ์™ธ์ฒ˜๋ฆฌ (1) - ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜, ์˜ˆ์™ธ ํด๋ž˜์Šค์˜ ๊ณ„์ธต๊ตฌ์กฐ
ยท
๐Ÿ—จ๏ธ Language/Java
ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜ ์ปดํŒŒ์ผ ์—๋Ÿฌ(compile-time error) : ์ปดํŒŒ์ผ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ(runtime error) : ์‹คํ–‰ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ๋…ผ๋ฆฌ์  ์—๋Ÿฌ(logical error) : ์ž‘์„ฑ ์˜๋„์™€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ ์ปดํŒŒ์ผ ์—๋Ÿฌ๋Š” java ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ปดํŒŒ์ผ ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ด๋‹ค. System.out.println์—์„œ System์„ system์ด๋ผ๊ณ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด, ๊ฐœ๋ฐœ๋„๊ตฌ์—์„œ ์ด๋ฏธ ์—๋Ÿฌ๋ผ๊ณ  ํ‘œ๊ธฐํ•œ๋‹ค. ๊ทธ๋Ÿฌํ•œ ์—๋Ÿฌ๋ฅผ ์ปดํŒŒ์ผ ์—๋Ÿฌ๋ผ๊ณ  ํ•œ๋‹ค. ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๋Š” ์ฝ”๋“œ๊ฐ€ ๋ฌธ๋ฒ•์—๋Š” ๋งž์•„์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ, ์‹คํ–‰์„ ํ•˜๋ฉด ๋ฐœ์ƒ๋˜๋Š” ์—๋Ÿฌ์ด๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๊ธฐ๋ณธ์ ์ธ ์˜ค๋ฅ˜๋งŒ ์ฒดํฌ๋ฅผ ํ•˜๊ณ , ๋ชจ๋“ ๊ฒƒ์„ ์ฒดํฌํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌํ•œ ์‹คํ–‰ํ•  ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋ฅผ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๋ผ๊ณ  ํ•œ๋‹ค. ๋…ผ๋ฆฌ์  ์—๋Ÿฌ๋Š” ์ปดํŒŒ์ผ ํ•  ๋•Œ๋„ ..
[Java]๊ฐ์ฒด์ง€ํ–ฅ (7) - ๋‚ด๋ถ€ ํด๋ž˜์Šค, ์ต๋ช… ํด๋ž˜์Šค
ยท
๐Ÿ—จ๏ธ Language/Java
๋‚ด๋ถ€ ํด๋ž˜์Šค (inner class) - ํด๋ž˜์Šค ์•ˆ์˜ ํด๋ž˜์Šค class B๋ฅผ class A ์•ˆ์œผ๋กœ ๋„ฃ๊ฒŒ ๋˜๋ฉด, B๋Š” A์˜ ๋‚ด๋ถ€ ํด๋ž˜์Šค๊ฐ€ ๋˜๊ณ , A๋Š” B์˜ ์™ธ๋ถ€ ํด๋ž˜์Šค๊ฐ€ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๋‚ด๋ถ€ ํด๋ž˜์Šค์—์„œ ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋“ค์„ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ๋”ฐ๋กœ ํด๋ž˜์Šค๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ์—๋Š”, ํด๋ž˜์Šค B๊ฐ€ A์— ์ ‘๊ทผํ•˜๋ ค๋ฉด A์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, B๊ฐ€ A์˜ ๋‚ด๋ถ€ ํด๋ž˜์Šค์ผ ๋•Œ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ ์—†์ด๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.(์บก์Аํ™”) ๋‚ด๋ถ€ ํด๋ž˜์Šค์˜ ์œ ํšจ ๋ฒ”์œ„(scope)๋Š” ๋ณ€์ˆ˜์™€ ๋™์ผํ•˜๋‹ค. ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜, ์Šคํƒœํ‹ฑ ๋ณ€์ˆ˜, ์ง€์—ญ ๋ณ€์ˆ˜์™€ ๋™์ผํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚ด๋ถ€ ํด๋ž˜์Šค์˜ ์ œ์–ด์ž์™€ ์ ‘๊ทผ์„ฑ ๋‚ด๋ถ€ ํด๋ž˜์Šค์˜ ์ œ์–ด์ž๋Š” ๋ณ€์ˆ˜์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ œ์–ด์ž์™€ ๋™์ผํ•˜..
Kyle99
'๐Ÿ—จ๏ธ Language/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)