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

์ „์ฒด ๊ธ€

(374)
[Java] ์ œ๋„ค๋ฆญ์˜ ํƒ€์ž… ์†Œ๊ฑฐ Type Erasure ์ถœ์ฒ˜ChatGPTํƒ€์ž… ์†Œ๊ฑฐ๋ž€? ํƒ€์ž… ์†Œ๊ฑฐ๋Š” Java์˜ ์ œ๋„ค๋ฆญ์ด ์ปดํŒŒ์ผ๋œ ํ›„์— ๋Ÿฐํƒ€์ž„์—์„œ ์ œ๋„ค๋ฆญ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ œ๊ณ ๋˜๋Š” ๊ณผ์ •์ด๋‹ค. ์ œ๋„ค๋ฆญ ํƒ€์ž…์€ ์ปดํŒŒ์ผ ์‹œ์ ์—๋งŒ ์œ ํšจํ•˜๊ณ , ๋Ÿฐํƒ€์ž„์—๋Š” Object ํƒ€์ž…์œผ๋กœ ๋Œ€์ฒด๋˜๊ฑฐ๋‚˜ ์ƒํ•œ ๊ฒฝ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ƒ์œ„ ํด๋ž˜์Šค๋กœ ๋Œ€์ฒด๋œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, List๊ณผ List๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„์—๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํƒ€์ž…์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€๋งŒ, ์ปดํŒŒ์ผ ํ›„์—๋Š” ๋ชจ๋‘ List ํƒ€์ž…์œผ๋กœ ๋™์ผํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋œ๋‹ค. ์ด ๋•Œ๋ฌธ์— ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ •๋ณด๋Š” ๋Ÿฐํƒ€์ž„์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ด๋ฅผ ํƒ€์ž… ์†Œ๊ฑฐ๋ผ๊ณ  ํ•œ๋‹ค. ํƒ€์ž… ์†Œ๊ฑฐ์˜ ๋ชฉ์ ์ž๋ฐ”์—์„œ ํƒ€์ž… ์†Œ๊ฑฐ๊ฐ€ ๋„์ž…๋œ ์ฃผ์š” ์ด์œ ๋Š” ํ›„๋ฐฉ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ œ๋„ค๋ฆญ์„ ๋„์ž…ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. JDK 5 ์ด์ „์— ์กด์žฌํ•˜๋˜ ์ฝ”๋“œ์™€ ํ˜ธํ™˜๋˜๋„๋ก ํ•˜๋ ค๋ฉด ์ƒˆ๋กœ์šด ์ œ๋„ค๋ฆญ ๊ธฐ๋Šฅ์ด ๊ธฐ์กด์˜ ๋น„์ œ๋„ค๋ฆญ ์ฝ”๋“œ์™€ ๊ณต์กดํ•  ์ˆ˜ ์žˆ์–ด..
[F-Lab] Android ๋ฉ˜ํ† ๋ง 1๊ฐœ์›” ์ฐจ ํ›„๊ธฐ 2024๋…„ 8์›” 26์ผ ๊ธฐ์ค€์œผ๋กœ, ์ €๋Š” Android ์•ฑ ๊ฐœ๋ฐœ ์ชฝ์œผ๋กœ 6๋…„ 6๊ฐœ์›”์˜ ๊ฒฝ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์ทจ์ค€ ์ค‘์ด๋ฉฐ, F-Lab์˜ Android ๋ฉ˜ํ† ๋ง ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋Š” ์ด ๊ธ€์ด ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. https://f-lab.kr/ F-Lab - ์ƒ์œ„ 1% ๊ฐœ๋ฐœ์ž๋“ค์˜ ๋ฉ˜ํ† ๋ง์•„๋งˆ์กด, ํŽ˜์ด์Šค๋ถ, MS, ๋„ค์นด๋ผ์ฟ ๋ฐฐ ๋“ฑ ์ƒ์œ„ 1% IT๊ธฐ์—… ์ถœ์‹  ๊ฐœ๋ฐœ์ž๋“ค์ด ์ดˆ๊ธ‰ ๊ฐœ๋ฐœ์ž๋ฅผ ์ค‘๊ธ‰ ๊ฐœ๋ฐœ์ž๋กœ ๋ ˆ๋ฒจ์—… ์‹œ์ผœ์ฃผ๋Š” ๋ฉ˜ํ† ๋ง ์„œ๋น„์Šคf-lab.kr F-Lab์„ ์‹ ์ฒญํ•œ ์ด์œ 1) ๊ฐœ๋ฐœ์ž๋กœ ์˜ค๋ž˜ ์ƒ์กดํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ์š•๊ตฌ๊ฐ€ ์žˆ์–ด์š”.๊ฒฝ๋ ฅ์„ ์Œ“์€ ํšŒ์‚ฌ๋“ค์„ ๊ฒฝํ—˜ํ•˜๋ฉฐ,  "๋‚ด๊ฐ€ ๊ณผ๊ฑฐ์— ํšŒ์‚ฌ์— ์–ด๋–ค ๊ธฐ์—ฌ๋ฅผ ํ–ˆ๋˜ ๊ฐ„์— ํšŒ์‚ฌ๋Š” ๋‚˜๋Š” ์“ธ๋ชจ ์—†๋‹ค๊ณ  ์—ฌ๊ธธ ์ˆ˜ ์žˆ๊ตฌ๋‚˜. ๋‹น์žฅ ์ด ํšŒ์‚ฌ์—์„œ ๋‚ด๊ฐ€ ํ•„์š” ์—†์–ด ์กŒ์„ ๋•Œ, ๋‚˜๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ํšŒ์‚ฌ๋กœ ๊ฐˆ ..
[Java][JVM] JVM ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ switch ๋ฌธ์— ์ ์šฉํ•˜๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ• ์ถœ์ฒ˜ChatGPTJava์—์„œ switch ๋ฌธ์ด if ๋ฌธ๋ณด๋‹ค ์„ฑ๋Šฅ์ ์œผ๋กœ ๋” ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” JIT(Just-In-Time) ์ปดํŒŒ์ผ๋Ÿฌ์˜ ์ตœ์ ํ™” ๊ธฐ๋ฒ• ๋•๋ถ„์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์€ switch ๋ฌธ์ด ์ปดํŒŒ์ผ๋˜๊ณ  ์‹คํ–‰๋  ๋•Œ, JVM์ด ์ด ๊ตฌ์กฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.  1. JIT ์ปดํŒŒ์ผ๋Ÿฌ์˜ ์—ญํ• Java ํ”„๋กœ๊ทธ๋žจ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ๋˜์–ด JVM(Java Virtual Machine)์—์„œ ์‹คํ–‰๋œ๋‹ค. ์ด ๋ฐ”์ดํŠธ์ฝ”๋“œ๋Š” ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ด๋ฉฐ, JVM์€ ์ด๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•ด ์‹คํ–‰ํ•œ๋‹ค. ์ด ๋ณ€ํ™˜ ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ JIT ์ปดํŒŒ์ผ๋Ÿฌ์ด๋‹ค. JIT ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ์— ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•œ๋‹ค. ์ด๋•Œ, sw..
[Java] switch ๋ฌธ์ด if ๋ฌธ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹์€ ์ด์œ  ์ถœ์ฒ˜ChatGPTswitch ๋ฌธ์ด if ๋ฌธ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๊ณ  ํ‰๊ฐ€๋˜๋Š” ์ด์œ ๋Š” ์ฃผ๋กœ switch ๋ฌธ์ด ๋‚ด๋ถ€์ ์œผ๋กœ ํšจ์œจ์ ์ธ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด ์„ฑ๋Šฅ ์ฐจ์ด๋Š” ์‚ฌ์šฉ๋˜๋Š” ์กฐ๊ฑด์‹์˜ ํŠน์„ฑ, ์กฐ๊ฑด์˜ ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  JVM์˜ ์ตœ์ ํ™” ์ „๋žต์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์€ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์ด์œ ์ด๋‹ค. 1. Jump Table ์‚ฌ์šฉ์ •์ˆ˜ ๋˜๋Š” ์—ด๊ฑฐํ˜• ์กฐ๊ฑด์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ, switch ๋ฌธ์€ ๋‚ด๋ถ€์ ์œผ๋กœ Jump Table์ด๋ผ๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.Jump Table์€ ๊ฐ ์ผ€์ด์Šค ๊ฐ’์— ๋Œ€ํ•ด ํŠน์ • ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ฐ”๋กœ ์ ํ”„ํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์–ด ๋†“๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด ๋ฐฉ์‹์€ ์ฃผ์–ด์ง„ ์กฐ๊ฑด ๊ฐ’์— ๋”ฐ๋ผ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ”๋กœ ํ•ด๋‹นํ•˜๋Š” ๋ถ„๊ธฐ๋กœ ์ด๋™ํ•˜๋ฏ€๋กœ, ๋‹ค์ˆ˜์˜ if-else ์กฐ๊ฑด๋ฌธ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹๋ณด..
[Android] ์•ˆ๋“œ๋กœ์ด๋“œ SDK์— ํฌํ•จ๋œ ์–ด๋…ธํ…Œ์ด์…˜ ์ถœ์ฒ˜ChatGPT1. @RequiresPermissionํ•ด๋‹น ๋ฉ”์„œ๋“œ๋‚˜ ํด๋ž˜์Šค๊ฐ€ ํ˜ธ์ถœ๋  ๋–„ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์ปดํŒŒ์ผ ํƒ€์ž„์— ๋ช…์‹œ์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹ค์ˆ˜๋กœ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์ฝ๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ด ๋ฉ”์„œ๋“œ๋‚˜ ํด๋ž˜์Šค๊ฐ€ ํŠน์ • ๊ถŒํ•œ์„ ์š”๊ตฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ช…ํ™•ํžˆ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์–ด ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ธ๋‹ค.์•ˆ๋“œ๋กœ์ด๋“œ Lint ๋„๊ตฌ๋Š” ์ด ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•ด ๊ถŒํ•œ์ด ์ ์ ˆํ•˜๊ฒŒ ์š”์ฒญ๋˜๊ณ  ์žˆ๋Š” ๊ฒ€์‚ฌํ•œ๋‹ค. ๋„์ž… ์‹œ๊ธฐ : API ๋ ˆ๋ฒจ 16 (Jelly Bean)๋ถ€ํ„ฐ.import android.Manifestimport android.content.Contextimport android.net.wifi.WifiManagerimport androidx.annotation.Req..
[Java][Android] ์ž๋ฐ”์˜ ์—ด๊ฑฐํ˜•(enum)์˜ ๋Œ€์ฒด๋กœ ๋‚˜์™”๋‹ค๋Š” @IntDef, ๊ทธ๋ ‡๋‹ค๋ฉด ์—ด๊ฑฐํ˜•์€ ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฑธ๊นŒ ์ถœ์ฒ˜ChatGPT@IntDef๋Š” Java์—์„œ ์—ด๊ฑฐํ˜•(enum)์˜ ๋Œ€์•ˆ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ฃผ๋กœ ์„ฑ๋Šฅ ์ตœ์ ํ™”์™€ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์—ˆ๋‹ค. ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด, ๋จผ์ € ์—ด๊ฑฐํ˜•๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ์ ์„ ์‚ดํŽด๋ณด๊ณ , @IntDef์˜ ์žฅ์ ์„ ์„ค๋ช…ํ•œ๋‹ค. 1. ์—ด๊ฑฐํ˜•(enum)์˜ ๋ฌธ์ œ์ Java์—์„œ ์—ด๊ฑฐํ˜•์€ ๋งค์šฐ ์œ ์šฉํ•˜์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์ด ์žˆ๋‹ค.1. ์„ฑ๋Šฅ ์˜ค๋ฒ„ํ—ค๋“œ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰: ์—ด๊ฑฐํ˜•์€ ๊ฐ์ฒด๋กœ ๊ตฌํ˜„๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ ์—ด๊ฑฐํ˜• ๊ฐ’์€ JVM ๋‚ด์—์„œ ๋ณ„๋„์˜ ๊ฐ์ฒด๋กœ ์กด์žฌํ•œ๋‹ค. ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ํŠนํžˆ ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ํ™˜๊ฒฝ์ด๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ์ด ํฐ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.๋ฉ”์„œ๋“œ ํ˜ธ์ถœ: ์—ด๊ฑฐํ˜•์€ ๊ฐ์ฒด๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ์ˆ˜(static final in..
[Java] Static Nested Class์˜ ๋ฉ”๋ชจ๋ฆฌ ๋กœ๋“œ ๋ฐ ์ƒ์„ฑ ์ถœ์ฒ˜ChatGPTStatic Nested Class๋Š” ์ž๋ฐ”์—์„œ ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ์ •์  ๋ฉค๋ฒ„๋กœ ์ •์˜๋œ ์ค‘์ฒฉ ํด๋ž˜์Šคdl๋‹ค. ์ด ํด๋ž˜์Šค๋Š” ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋™์ž‘ํ•œ๋‹ค.  Static Nested Class์˜ ๋ฉ”๋ชจ๋ฆฌ ๋กœ๋“œ ๋ฐ ์ƒ์„ฑ ๊ณผ์ •1. ํด๋ž˜์Šค ์ •์˜ (ํด๋ž˜์Šค ๋ ˆ๋ฒจ)Static Nested Class๋Š” ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ๋‚ด๋ถ€์— ์ •์˜๋œ๋‹ค. ์ด ํด๋ž˜์Šค๋Š” ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ์ •์  ๋ฉค๋ฒ„๋กœ ์ทจ๊ธ‰๋œ๋‹ค.์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ด ํด๋ž˜์Šค์˜ ์ •์˜๋ฅผ ๋ณ„๋„์˜ .class ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผํ•œ๋‹ค. ์ด ํŒŒ์ผ์˜ ์ด๋ฆ„์€ ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ๋‚ด๋ถ€ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, OuterClass$StaticNestedClass.class์™€ ๊ฐ™์€ ํ˜•์‹์ด๋‹ค. 2. ํด๋ž˜์Šค ๋กœ๋”ฉ (ํด๋ž˜์Šค ๋ ˆ๋ฒจ)JVM์ด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์ด ๋‚ด๋ถ€ ํด๋ž˜..
[Java] Member inner class์˜ ๋ฉ”๋ชจ๋ฆฌ ๋กœ๋“œ ๋ฐ ์ƒ์„ฑ ์ถœ์ฒ˜ChatGPTMember Inner Class๋Š” ์ž๋ฐ”์—์„œ ์ •์˜๋œ ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋กœ, ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์™€ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์—ฐ๊ด€๋˜์–ด ์žˆ๋‹ค. Inner class์˜ ๋ฉ”๋ชจ๋ฆฌ ๋กœ๋“œ ๋ฐ ์ƒ์„ฑ ๊ณผ์ •1. ํด๋ž˜์Šค ์ •์˜ (ํด๋ž˜์Šค ๋ ˆ๋ฒจ) Member Inner Class๋Š” ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ๋‚ด๋ถ€์— ์ •์˜๋œ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ์—์„œ๋Š” ์™ธ๋ถ€ ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์ •์˜๋œ ์ค‘์ฒฉ ํด๋ž˜์Šค๋‹ค.์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ด ํด๋ž˜์Šค๋ฅผ ๋ณ„๋„์˜ .class ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผํ•œ๋‹ค. ์ด .class ํŒŒ์ผ์˜ ์ด๋ฆ„์€ ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ๋‚ด๋ถ€ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, OuterClass$InnerClass.class์™€ ๊ฐ™์€ ํ˜•์‹์ด๋‹ค.2. ํด๋ž˜์Šค ๋กœ๋”ฉ (ํด๋ž˜์Šค ๋ ˆ๋ฒจ) JVM์ด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์ด ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ, ClassLoader๊ฐ€ ..