๋ชฉ๋ก์ „์ฒด ๊ธ€ (162)

EEALL@ONCE

โ˜•StringIndexOutOfBoundsException

์ด ์—๋Ÿฌ๋Š” ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ์ ‘๊ทผ ์‹œ๋„๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์ดˆ๊ณผํ•˜๊ฑฐ๋‚˜ ์Œ์ˆ˜ ์ธ๋ฑ์Šค์— ์ ‘๊ทผํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: String text = "Hello, World!"; char character = text.charAt(15); // ์—ฌ๊ธฐ์„œ ์ธ๋ฑ์Šค 15๋Š” ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋ฏ€๋กœ StringIndexOutOfBoundsException์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: 1. **์ธ๋ฑ์Šค ๊ฒ€์‚ฌ:** ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋„˜์–ด๊ฐ€๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. if (index >= 0 && index < text.length()) { char character = text.charAt(index); } els..

โ˜•InputStream

`InputStream`์€ ์ž๋ฐ”์—์„œ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์˜ ๋ชจ๋“  ํด๋ž˜์Šค๊ฐ€ ์ƒ์†๋ฐ›๋Š” ์ถ”์ƒ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์€ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด ๋“ค์ด๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ํŒŒ์ผ, ๋„คํŠธ์›Œํฌ, ํ‚ค๋ณด๋“œ ๋“ฑ ๋‹ค์–‘ํ•œ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ๋ฉ”์„œ๋“œ: 1. **`read()`:** ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์—์„œ ๋‹ค์Œ ๋ฐ”์ดํŠธ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ์˜ ๋์— ๋„๋‹ฌํ•˜๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 2. **`read(byte[] b)`:** ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์—์„œ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด `b`์˜ ํฌ๊ธฐ๋งŒํผ ์ฝ์–ด `b`์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ฝ์€ ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 3. **`close()`:** ์ŠคํŠธ๋ฆผ์„ ๋‹ซ์•„ ์‚ฌ์šฉํ•œ ์ž์›์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์˜ˆ์‹œ: InputStream inputStream = new FileInputStream("example.txt"); // ..

โ˜• ์›์‹œํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜ vs ์ฐธ์กฐํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜

์›์‹œํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜(Primitive Parameters)์™€ ์ฐธ์กฐํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜(Reference Parameters)๋Š” ์ž๋ฐ”์—์„œ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์‹œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. 1. ์›์‹œํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜ (Primitive Parameters): ์›์‹œ๊ฐ’์€ '๋ณต์‚ฌํ•ด์„œ' ๊ฐ€์ ธ์˜ด - ์›์‹œ ์ž๋ฃŒํ˜• (์˜ˆ: int, float, double ๋“ฑ)์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. - ๋ฉ”์„œ๋“œ๋กœ ์ „๋‹ฌ๋œ ๊ฐ’์€ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณต์‚ฌ๋˜์–ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. - ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„ ์›๋ž˜ ๋ณ€์ˆ˜์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. public static void modifyValue(int value) { value = 10; } public static void main(String[] args) { int..

โ˜•๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ(Method Overloading)

๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ(Method Overloading)์€ Java์—์„œ ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค ๋ฉ”์†Œ๋“œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์„ ๊ฐ€์ง€๋ฉฐ, ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ๋‹ค์–‘ํ•œ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. Java์—์„œ๋Š” ๋ฉ”์†Œ๋“œ ์ด๋ฆ„๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๋‚˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋‹ค๋ฅด๋‹ค๋ฉด ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ฉ”์†Œ๋“œ๋“ค์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์˜ ํŠน์ง•: 1. **๋ฉ”์†Œ๋“œ ์ด๋ฆ„์ด ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค:** ๋™์ผํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ฉ”์†Œ๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. 2. **๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์ด ๋‹ฌ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค:** ๋ฉ”์†Œ๋“œ๋งˆ๋‹ค ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜ ๋˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋‹ฌ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. 3. **๋ฐ˜ํ™˜ ํƒ€์ž…์€ ์˜ค๋ฒ„๋กœ๋”ฉ๊ณผ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค:** ๋ฐ˜ํ™˜ ํƒ€์ž…์€ ์˜ค๋ฒ„๋กœ๋”ฉ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์˜ ์˜ˆ..

โ˜•๋ฉ”์†Œ๋“œ"(`method`) / "ํ•จ์ˆ˜"(`function`)

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