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

๐Ÿ–ฅ๏ธ ๋ฐฑ์—”๋“œ63

[ch.9] java.lang ํŒจํ‚ค์ง€์™€ ์œ ์šฉํ•œ ํด๋ž˜์Šค Wrapper ํด๋ž˜์Šค (java.lang ํŒจํ‚ค์ง€) ๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜๋ฅผ ๊ฐ์ฒด๋กœ ๋‹ค๋ค„์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ. (๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ์ฒด๋ฅผ ์š”๊ตฌ, ๊ธฐ๋ณธํ˜• ๊ฐ’์ด ์•„๋‹Œ ๊ฐ์ฒด๋กœ ์ €์žฅํ•ด์•ผ ํ•  ๋•Œ, ๊ฐ์ฒด ๊ฐ„์˜ ๋น„๊ต๊ฐ€ ํ•„์š”ํ•  ๋•Œ) 8๊ฐœ์˜ ๊ธฐ๋ณธํ˜•(์„ฑ๋Šฅ์ข‹์•„์„œ์”€) → 8๊ฐœ์˜ ๋ž˜ํผํด๋ž˜์Šค ๋ž˜ํผํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž( ๋งค๊ฐœ๋ณ€์ˆ˜ ) ๋งค๊ฐœ๋ณ€์ˆ˜=๋ฌธ์ž์—ด or ๊ฐ ์ž๋ฃŒํ˜•์˜ ๊ฐ’ ๊ธฐ๋ณธํ˜• & ๋ž˜ํผํด๋ž˜์Šค boolean, Boolean char, Character byte, Byte short, Short int, Integer long, Long float, Float double, Double ๋ž˜ํผํด๋ž˜์Šค๋“ค์€ ๋ชจ๋‘ equals( )๊ฐ€ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋˜์–ด์žˆ์–ด์„œ ์ฃผ์†Œ๊ฐ’์ด ์•„๋‹Œ ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ๊ฐ’์„ ๋น„๊ต. ๋ž˜ํผํด๋ž˜์Šค๋“ค์€ static์ƒ์ˆ˜๋ฅผ ๊ณตํ†ต์ ์œผ๋กœ ๊ฐ–๊ณ ์žˆ์Œ. (MAX_VALUE.. 2023. 11. 13.
[ch.9] String, StringBuffer, StringBuilder ํด๋ž˜์Šค String ํด๋ž˜์Šค (java.lang ํŒจํ‚ค์ง€) ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค. ๋ถˆ๋ณ€. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ์ƒ์„ฑ์ž์˜ (๋งค๊ฐœ๋ณ€์ˆ˜)๋กœ ์ž…๋ ฅ๋ฐ›๋Š” ๋ฌธ์ž์—ด์„ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์— ๋ฌธ์ž ๋ฐฐ์—ด๋กœ ์ €์žฅํ•จchar[ ] ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ String์ธ์Šคํ„ด์Šค๊ฐ€ ๊ฐ–๊ณ ์žˆ๋Š” ๋ฌธ์ž์—ด์€ ์ฝ์–ด์˜ฌ ์ˆ˜๋งŒ ์žˆ๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜๋Š” ์—†์Œ. ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ์—๋Š” + ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•จ. ๋ฌธ์ž์—ด์˜ ๋น„๊ต๋Š” ๋ฆฌํ„ฐ๋Ÿด ์ง€์ •ํ›„ ๋น„๊ตํ•จ. equals( )์‚ฌ์šฉ ์‹œ ๋‘ ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์„ ๋น„๊ตํ•จ. ๊ฐ™์€ ๋‚ด์šฉ์˜ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์€ ํ•œ ๋ฒˆ๋งŒ ์ €์žฅ๋จ. ๋นˆ ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ 0์ธ char[ ] new char[0] ok String s = “ ”; ok char c = ‘ ’; no! ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜์˜ ๋ฌธ์ž ์ง€์ •ํ•˜๊ธฐ. join( ) ↔ split( ) ์—ฌ๋Ÿฌ ๋ฌธ์ž์—ด ์‚ฌ์ด์— ๊ตฌ๋ถ„์ž๋ฅผ ๋„ฃ์–ด์„œ ๊ฒฐํ•ฉํ•จ ๊ตฌ๋ถ„์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ .. 2023. 11. 13.
[ch.9] Object, Objects ํด๋ž˜์Šค Object ํด๋ž˜์Šค (java.lang ํŒจํ‚ค์ง€) ๋ฉค๋ฒ„๋ณ€์ˆ˜ ์—†์Œ. ์˜ค์ง ๋ฉ”์„œ๋“œ 11๊ฐœ equals( Object obj ) ๋‘ ๊ฐ์ฒด์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ’(์ฃผ์†Œ๊ฐ’)์œผ๋กœ ํŒ๋‹จํ•จ. ๋ฉค๋ฒ„๋ณ€์ˆ˜ ๊ฐ’์œผ๋กœ ๋น„๊ตํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๊ธฐ. hashCode( ) ๊ฐ์ฒด์˜ ํ•ด์‹œ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์คŒ(๊ณ ์œ ๊ฐ’). equals ์˜ค๋ฒ„๋ผ์ด๋”ฉ ์‹œ ๊ฐ™์ด ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•ด์ฃผ๊ธฐ. toString( ) ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ œ๊ณตํ•จ. ์›๋ž˜ ์ •์˜ ํด๋ž˜์Šค์ด๋ฆ„+@+ํ•ด์‰ฌ์ฝ”๋“œ16์ง„์ˆ˜ clone( ) ์ž์‹ ์„ ๋ณต์ œํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•จ. ์กฐ๊ฑด โ‘ ๋ณต์ œํ•  ํด๋ž˜์Šค๊ฐ€ Cloneable์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•˜๊ณ , clone( ) ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๋ฉด์„œ, ์ ‘๊ทผ์ œ์–ด์ž๋ฅผ protected์—์„œ public์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผํ•จ. โ‘ก์กฐ์ƒํด๋ž˜์Šค์˜ clone( )๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ try-.. 2023. 11. 13.
[ch.8] ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์˜ˆ์™ธ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ์˜ˆ์™ธ์˜ ๋ฐœ์ƒ์— ๋Œ€๋น„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ. ๋ชฉ์ : ์˜ˆ์™ธ์˜ ๋ฐœ์ƒ์œผ๋กœ ์ธํ•œ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋น„์ •์ƒ์ข…๋ฃŒ๋ฅผ ๋ง‰๊ณ , ์ •์ƒ์ ์ธ ์‹คํ–‰์ƒํƒœ ์œ ์ง€ํ•˜๊ธฐ. ์˜ˆ์™ธ ๊ฐ์ฒด. ๋ณ€์ˆ˜์˜ ๋ฌถ์Œ. ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ‘์˜ˆ์™ธ์ •๋ณด’๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ. (์–ด๋””์„œ ๋ฐœ์ƒ? ์–ด๋–ค ์˜ˆ์™ธ?) printStackTrace( ): ์˜ˆ์™ธ ๋ฐœ์ƒ๋‹น์‹œ ํ˜ธ์ถœ ์Šคํƒ์— ์žˆ๋˜ ๋ฉ”์„œ๋“œ์˜ ์ •๋ณด, ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•จ. getMessage( ): ๋ฐœ์ƒํ•œ ์˜ˆ์™ธํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์— ์ €์žฅ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์˜ˆ์™ธ ์ง์ ‘์ฒ˜๋ฆฌํ•˜๊ธฐ try-catch๋ฌธ ์ง์ ‘ ์ฒ˜๋ฆฌ๋Š” ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ ์œ„์น˜์—์„œ ์˜ˆ์™ธ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ ๊ฒ€์‚ฌ๊ฒฐ๊ณผ๊ฐ€ true์ธ catch๋ธ”๋Ÿญ์„ ๋งŒ๋‚ ๋•Œ๊นŒ์ง€ ๊ฒ€์‚ฌ ๊ณ„์† ๋จ. ํ•˜๋‚˜๋„ ์•ˆ ๋งž์œผ๋ฉด ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์•ˆ.. 2023. 11. 11.
[ch.7] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(2) ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ถ”์ƒํ™” ๊ตฌ์ œ์ฒ™์ด์ง€ ์•Š๊ฒŒ, ๊ณตํ†ต์  ๋ฝ‘์•„๋‚ด๊ธฐ. ๋‹จ์ : ๊ฐ์ฒด ์ผ๋ถ€ ๊ธฐ๋Šฅ๋งŒ ์‚ฌ์šฉํ•จ. ์žฅ์ : ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„์„ ์ˆจ๊ธฐ๊ณ  ํ•ต์‹ฌ ๊ฐœ๋…์ด๋‚˜ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ. ๋‹คํ˜•์„ฑ ์กฐ์ƒํด๋ž˜์Šคํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ์ž์†ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ(์ฐธ์กฐํ•˜๋Š” ๊ฒƒ) ์ฐธ์กฐ๋ณ€์ˆ˜์˜ ํ˜•๋ณ€ํ™˜ ์„œ๋กœ ์ƒ์†๊ด€๊ณ„์ผ๋•Œ๋งŒ ๊ฐ€๋Šฅํ•จ. ํ˜•๋ณ€ํ™˜์€ ์ฐธ์กฐ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ๋ณ€ํ™˜O, ์ธ์Šคํ„ด์Šค๋ณ€ํ™˜X ๋‹จ์ง€ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ์ธ์Šคํ„ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉค๋ฒ„์˜ ๊ฐœ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ. ์ž์†ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ์กฐ์ƒํƒ€์ž…์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•จ. instanceof ์—ฐ์‚ฐ์ž ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ์ธ์Šคํ„ด์Šค์˜ ์‹ค์ œํƒ€์ž…์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ. ์˜ˆ์‹œ: Tvํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜ t๊ฐ€ CaptionTv์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š”์ง€, Tv์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š”์ง€ ์•Œ์•„์•ผ CaptionT.. 2023. 11. 11.
[ch.7] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ƒ์† ๊ธฐ์กด์˜ ํด๋ž˜์Šค๋ฅผ ์žฌ์‚ฌ์šฉํ•ด์„œ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ ์ž์†ํด๋ž˜์Šค๋Š” ์กฐ์ƒํด๋ž˜์Šค์˜ ๋ชจ๋“  ๋ฉค๋ฒ„๋ฅผ ์ƒ์†๋ฐ›์Œ. (์ƒ์„ฑ์ž์™€ ์ดˆ๊ธฐํ™”๋ธ”๋Ÿญ ์ œ์™ธ) ๊ทธ๋ž˜์„œ ์ž์†๋ฉค๋ฒ„๊ฐœ์ˆ˜ >= ์กฐ์ƒ๋ฉค๋ฒ„๊ฐœ์ˆ˜ ํฌํ•จ ํ•œ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋ณ€์ˆ˜๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šคํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ class Circle { Point p ; int r ; } ๊ฐ™์€ ๋‚ด์šฉ์˜ ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜ ์ด์ƒ์˜ ํด๋ž˜์Šค์— ์ค‘๋ณต์ ์œผ๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ• ๋•Œ์—๋Š” ์ƒ์† ๊ด€๊ณ„๋ฅผ ์ด์šฉํ•ด์„œ ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ: ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ํด๋ž˜์Šค๋“ค์„ ๋ฉด๋ฐ€ํžˆ ์„ค๊ณ„๋ถ„์„ํ•ด์„œ, ํด๋ž˜์Šค๊ฐ„์˜ ์ƒ์†๊ด€๊ณ„๋ฅผ ์ ์ ˆํžˆ ๋งบ์–ด์ฃผ๋Š” ๊ฒƒ. ์ž์†ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ์ž์‹ ์˜ ๋ฉค๋ฒ„์™€ ์ž์‹ ์˜ ์กฐ์ƒ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋งŒ ์ƒ์„ฑ๋จ = ์กฐ์ƒํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„๋„ ์กฐ์ƒํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋ฅผ ์‚ฌ์šฉ.. 2023. 11. 11.
[ch.6] ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด ์ฃผ์š” ํŠน์ง• ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค. ์ƒˆ๋กœ์šด ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ๊ธฐ์กด ์ฝ”๋“œ ์ด์šฉ ์ฝ”๋“œ์˜ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋‹ค. ์ฝ”๋“œ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ด์šฉํ•ด ์‰ฝ๊ฒŒ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‹ ๋ขฐ์„ฑ ๋†’์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ์ œ์–ด์ž,๋ฉ”์„œ๋“œ: ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ ๋ฐ ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’ ์œ ์ง€, ์ฝ”๋“œ์˜ ์ค‘๋ณต์ œ๊ฑฐ: ๋ถˆ์ผ์น˜๋กœ ์ธํ•œ ์˜ค์ž‘๋™ ๋ฐฉ์ง€ํ•จ ํด๋ž˜์Šค ์„ค๊ณ„๋„. ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•ด ๋†“์€ ๊ฒƒ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ ๊ฐ์ฒด ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค, ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ๊ฒƒ iv ๋ฌถ์Œ. ๋ฉ”์„œ๋“œ๋Š” ํฌํ•จX ์†์„ฑ: ๋ฉค๋ฒ„๋ณ€์ˆ˜, ํŠน์„ฑ ํ•„๋“œ, ์ƒํƒœ ๊ธฐ๋Šฅ: ๋ฉ”์„œ๋“œ, ํ•จ์ˆ˜, ๊ธฐ๋Šฅ, ํ–‰์œ„ “ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค” ํด๋ž˜์Šค์— ์ •์˜๋œ ์†์„ฑ๊ณผ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ๊ฐ์ฒด์ƒ์„ฑํ•˜๋Š” ๊ฒƒ ์„ ์–ธ์œ„์น˜์— ๋”ฐ๋ฅธ ๋ณ€์ˆ˜ 3๊ฐ€์ง€ ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜ ๊ฐ์ฒด ์ƒ์„ฑ์‹œ์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ. ๋ฉค๋ฒ„๋ณ€์ˆ˜. ๋…๋ฆฝ์ ์ธ ์ €์žฅ๊ณต๊ฐ„์„ ๊ฐ€์ ธ์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผ.. 2023. 11. 11.