๋ชฉ๋ก์ ์ฒด ๊ธ (162)
EEALL@ONCE
์ด ์๋ฌ๋ ๋ฌธ์์ด์ ์ธ๋ฑ์ค ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ์ ๊ทผ ์๋๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ์ฃผ๋ก ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ์ด๊ณผํ๊ฑฐ๋ ์์ ์ธ๋ฑ์ค์ ์ ๊ทผํ ๋ ๋ฐ์ํฉ๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ํฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: 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`์ ์๋ฐ์์ ์ ๋ ฅ ์คํธ๋ฆผ์ ๋ชจ๋ ํด๋์ค๊ฐ ์์๋ฐ๋ ์ถ์ ํด๋์ค์ ๋๋ค. ์ ๋ ฅ ์คํธ๋ฆผ์ ๋ฐ์ดํธ ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด ๋ค์ด๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ํ์ผ, ๋คํธ์ํฌ, ํค๋ณด๋ ๋ฑ ๋ค์ํ ์์ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค. ์ฃผ์ ๋ฉ์๋: 1. **`read()`:** ์ ๋ ฅ ์คํธ๋ฆผ์์ ๋ค์ ๋ฐ์ดํธ๋ฅผ ์ฝ์ต๋๋ค. ์คํธ๋ฆผ์ ๋์ ๋๋ฌํ๋ฉด -1์ ๋ฐํํฉ๋๋ค. 2. **`read(byte[] b)`:** ์ ๋ ฅ ์คํธ๋ฆผ์์ ๋ฐ์ดํธ ๋ฐฐ์ด `b`์ ํฌ๊ธฐ๋งํผ ์ฝ์ด `b`์ ์ ์ฅํฉ๋๋ค. ์ฝ์ ๋ฐ์ดํธ ์๋ฅผ ๋ฐํํฉ๋๋ค. 3. **`close()`:** ์คํธ๋ฆผ์ ๋ซ์ ์ฌ์ฉํ ์์์ ํด์ ํฉ๋๋ค. ์ฌ์ฉ ์์: InputStream inputStream = new FileInputStream("example.txt"); // ..
`Scanner` ํด๋์ค์ `System.in`์ ์๋ฐ์์ ์ ๋ ฅ์ ๋ฐ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค. 1. `Scanner` ํด๋์ค: - `java.util.Scanner` ํจํค์ง์ ์๋ ํด๋์ค๋ก, ํค๋ณด๋ ์ ๋ ฅ ๋๋ ํ์ผ๋ก๋ถํฐ ํ ์คํธ ๊ฐ์ ์ฝ์ด์ค๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. - ๋ค์ํ ์๋ฃํ์ผ๋ก์ ์ ๋ ฅ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); int number = scanner.nextInt(); 2. `System.in`: - `System.in`์ `InputStream`์ ์ธ์คํด์ค๋ก, ํ์ค ์ ๋ ฅ ์คํธ๋ฆผ์ ๋ํ๋ ๋๋ค. - ์ฃผ๋ก ํค๋ณด๋๋ก๋ถํฐ ๋ฐ์ดํธ ๋จ์์ ..
์์ํ ๋งค๊ฐ๋ณ์(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..
`bill_acc_id`๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ์ฌ `aply_amt` ๊ฐ์ ๋ชจ๋ ๋ํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ `total_deposit` ์ปฌ๋ผ์ ์ ๋ฐ์ดํธํ๋ ค๋ ๊ฒ์ผ๋ก ์ดํดํ์์ต๋๋ค. ์๋์ SQL ์ฟผ๋ฆฌ๋ ๊ทธ ์์ ์ ์ํํ๋ ์์์ ๋๋ค. 1. ๋จผ์ , `bill_acc_id`๋ฅผ ๊ธฐ์ค์ผ๋ก `aply_amt` ๊ฐ์ ๋ํ๋ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. 2. ๊ทธ ๋ค์, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก `tb_rmny` ํ ์ด๋ธ์ `total_deposit` ์ปฌ๋ผ์ ์ ๋ฐ์ดํธํฉ๋๋ค. UPDATE tb_rmny SET total_deposit = ( SELECT SUM(aply_amt) FROM tb_rmny AS subquery WHERE subquery.bill_acc_id = tb_rmny.bill_acc_id ) ์ด ์ฟผ๋ฆฌ๋ `tb_rmny` ํ ์ด๋ธ..
๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ(Method Overloading)์ Java์์ ๋์ผํ ๋ฉ์๋ ์ด๋ฆ์ ๊ฐ์ง ์ฌ๋ฌ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ด๋ค ๋ฉ์๋๋ ์๋ก ๋ค๋ฅธ ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก์ ๊ฐ์ง๋ฉฐ, ๊ฐ์ ์์ ์ ์ํํ์ง๋ง ๋ค์ํ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. Java์์๋ ๋ฉ์๋ ์ด๋ฆ๊ณผ ๋งค๊ฐ๋ณ์์ ๊ฐ์๋ ๋ฐ์ดํฐ ํ์ ์ด ๋ค๋ฅด๋ค๋ฉด ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ๋ฉ์๋๋ค์ ์ ์ํ ์ ์์ต๋๋ค. ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ํน์ง: 1. **๋ฉ์๋ ์ด๋ฆ์ด ๊ฐ์์ผ ํฉ๋๋ค:** ๋์ผํ ์ด๋ฆ์ ๊ฐ์ง ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ํฉ๋๋ค. 2. **๋งค๊ฐ๋ณ์ ๋ชฉ๋ก์ด ๋ฌ๋ผ์ผ ํฉ๋๋ค:** ๋ฉ์๋๋ง๋ค ๋งค๊ฐ๋ณ์์ ๊ฐ์ ๋๋ ๋ฐ์ดํฐ ํ์ ์ด ๋ฌ๋ผ์ผ ํฉ๋๋ค. 3. **๋ฐํ ํ์ ์ ์ค๋ฒ๋ก๋ฉ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค:** ๋ฐํ ํ์ ์ ์ค๋ฒ๋ก๋ฉ์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ์..
"๋ฉ์๋"(`method`)์ "ํจ์"(`function`)๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋น์ทํ ๊ฐ๋ ์ ๋ํ๋ด๋ ์ฉ์ด์ ๋๋ค. ๋ ๋ค ์ด๋ค ์์ ์ ์ํํ๋ ์ฝ๋ ๋ธ๋ก์ ๋ํ๋ด๋ฉฐ, ์ ๋ ฅ์ ๋ฐ์ ์์ ์ ์ฒ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Java์์๋ ๋ชจ๋ ๊ฒ์ ํด๋์ค์ ๋ฉค๋ฒ๋ก ์ทจ๊ธํ๊ธฐ ๋๋ฌธ์ ๋ฉ์๋๋ผ๋ ์ฉ์ด๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฐ ๋ฉด์์ Java์ ๋ฉ์๋๋ ๋ค๋ฅธ ์ธ์ด์ ํจ์์ ์ ์ฌํ ์ญํ ์ ํฉ๋๋ค. ์๋ฐ์์ ๋ชจ๋ ๊ฒ์ด ํด๋์ค์ ๋ฉค๋ฒ๋ก ๊ตฌ์ฑ๋๋ ๊ฐ๋ ์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ ์์น ์ค ํ๋์ธ "๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด๋ค"๋ผ๋ ๊ฐ๋ ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. ์ด๋ Java์์ ๋ฐ์ดํฐ์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ด ์๋ก ๊ด๋ จ๋ ํด๋์ค ๋ด์ ๋ฌถ์ฌ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด๋ฐ ์ค๊ณ ์ ๊ทผ ๋ฐฉ์์ ์ฝ๋์ ๊ตฌ์กฐํ์ ์ ์ง๋ณด์๋ฅผ ๋๋๋ฐ..
`DATE_ADD` ํจ์๋ MySQL์์ ๋ ์ง์ ์๊ฐ์ ๊ณ์ฐํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ค์์ ์ด ์ฝ๋์ ์์ ์ ์ค๋ช ์ ๋๋ค: SELECT DATE_ADD('2021-08-16', INTERVAL 1 MONTH) AS NewDate; ๊ฒฐ๊ณผ: NewDate 2021-09-16 - `DATE_ADD` ํจ์๋ ์ฒซ ๋ฒ์งธ ์ธ์๋ก ํน์ ๋ ์ง๋ฅผ ๋ฐ๊ณ , ๋ ๋ฒ์งธ ์ธ์๋ก INTERVAL ํค์๋์ ํจ๊ป ์๊ฐ ๊ฐ๊ฒฉ์ ๋ฐ์ต๋๋ค. - ์์ ๊ฒฝ์ฐ, '2021-08-16'์ 1๊ฐ์์ ์ถ๊ฐํ์ฌ '2021-09-16'์ ๋ฐํํฉ๋๋ค. ์ถ๊ฐ์ ์ธ ์ง๋ฌธ : ํด๋น interval 1 month๋ 30์ผ ๋ค 31์ผ ๋ค๋ฅผ ์๋์ผ๋ก ๋ฑ๋กํด์ฃผ๋๊ฑฐ์ผ? MySQL์ `DATE_ADD` ํจ์์์ `INTERVAL 1 MONTH`๋ฅผ ์ฌ์ฉํ๋ฉด, ๋ฌ์ ์ผ ์์ ๊ด๊ณ์์ด ..