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

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

[Java] ๋ถ€ํŠธ์บ ํ”„ ๊ฐœ๊ฐ• ์ „ ์ž๋ฐ” ๋…ํ•™ ๊ธฐ๋ก (NaverBlog ์ž๋ฐ”์˜ ์ •์„ 3ํŒ ์š”์•ฝ์ •๋ฆฌ) ํ‘œ๋กœ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์นดํ…Œ๊ณ ๋ฆฌ ๊ตฌ๋ถ„์œผ๋กœ ์ดํ•ด์— ํฐ ๋„์›€์ด ๋˜์—ˆ์ง€๋งŒ, ๋‹ค๋ฅธ ํ”Œ๋žซํผ์œผ๋กœ ๊ธ€์„ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์—๋Š” ์ข€ ๋ถˆํŽธํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜์˜ ์ด์ „ ๋ธ”๋กœ๊ทธ ๋งํฌ๋งŒ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ•œ๋‹ค. ๋ณธ๋ฌธ์€ 2023๋…„ ์ดˆ์— ๊ฐœ๋ฐœ๊ณต๋ถ€๋ฅผ ๋งˆ์Œ๋จน๊ณ  ์ž๋ฐ”์˜ ์ •์„ ์ฑ…์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•œ ๋ธ”๋กœ๊ทธ๊ธ€์˜ ๋งํฌ๋“ค์ด๋‹ค. ์ •๋ง ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅผ ๋•Œ ์ฑ…์„ ์ดํ•ดํ•˜๋ ค๊ณ  ์‹œ์ž‘ํ•œ ์ •๋ฆฌ์ด๋‹ค๋ณด๋‹ˆ ํ‹€๋ฆฐ๋ถ€๋ถ„์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค....ใ…Žใ…Ž ์ด๋•Œ ์ •๋ฆฌ๋ฅผ ํ†ตํ•œ ์ง€์‹ ํ†ตํ•ฉ์˜ ๊ฒฝํ—˜ ๋•๋ถ„์— 3๋ฒˆ์ด๋‚˜ ๋” ์ž๋ฐ”์˜ ์ •์„์„ ํ›‘๊ณ  ์ •๋ฆฌํ–ˆ์—ˆ๋‹ค(์•„๋ž˜ ๋ฐœํ–‰ ๊ธ€์— ๊ธฐ๋กํ•ด๋‘ ) 2023.12.07 - [๐Ÿ“œ ํ•™์Šต ๊ธฐ๋ก] - [ํ•™์Šต ๊ธฐ๋ก] ์ž๋ฐ”์˜ ์ •์„ ์š”์•ฝ์ •๋ฆฌ ๊ณต๋ถ€์˜ ์—ญ์‚ฌ ๐Ÿ˜Ž ch.2 ๋ณ€์ˆ˜ https://blog.naver.com/hhju2016/222983636938 ์ž๋ฐ”์˜์ •์„ ch.2 ์š”์•ฝ์ •๋ฆฌ ๋ณ€์ˆ˜, ๋ณ€์ˆ˜์˜ํƒ€์ž….. 2023. 12. 7.
Character ํด๋ž˜์Šค ์ฃผ์š” ๋ฉ”์„œ๋“œ char charValue():์ด Character ๊ฐ์ฒด๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” char ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. int compareTo(Character anotherCharacter):๋‘ Character ๊ฐ์ฒด์˜ ์ˆœ์„œ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. static int compare(char x, char y):๋‘ char ๊ฐ’์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. static boolean isLetter(char ch):์ง€์ •๋œ char ๊ฐ’์ด ๋ฌธ์ž์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. static boolean isDigit(char ch):์ง€์ •๋œ char ๊ฐ’์ด ์ˆซ์ž์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. static boolean isWhitespace(char ch):์ง€์ •๋œ char ๊ฐ’์ด ๊ณต๋ฐฑ ๋ฌธ์ž์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. static boolean isUpperCase(char ch).. 2023. 11. 30.
Java10๋ถ€ํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ 'var' ํ‚ค์›Œ๋“œ ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ JavaScript์—์„œ๋‚˜ ๋ณด๋˜ var ํ‚ค์›Œ๋“œ ๋ฐœ๊ฒฌ... ๋ฐ”๋กœ GPT์™€ ๊ณต๋ถ€ ์‹œ์ž‘ํ–ˆ๋‹ค Q. ์ž๋ฐ”์—์„œ var ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ด?? ๋„ค, Java 10๋ถ€ํ„ฐ var ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ž๋™์œผ๋กœ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ "๋กœ์ปฌ ๋ณ€์ˆ˜ ํƒ€์ž… ์ถ”๋ก "์ด๋ผ๊ณ  ํ•˜๋ฉฐ, var๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Java ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ดˆ๊ธฐํ™”์‹์—์„œ ์œ ์ถ”ํ•ฉ๋‹ˆ๋‹ค. var์˜ ์‚ฌ์šฉ ์˜ˆ์‹œ var number = 10; // int๋กœ ์ถ”๋ก ๋จ var message = "Hello World"; // String์œผ๋กœ ์ถ”๋ก ๋จ var list = new ArrayList(); // ArrayList์œผ๋กœ ์ถ”๋ก ๋จ var๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์˜์  ๋กœ์ปฌ ๋ณ€์ˆ˜์—๋งŒ ์‚ฌ์šฉ var๋Š” ์˜ค์ง ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๋กœ์ปฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ• .. 2023. 11. 29.
Stringํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ๋ชจ์Œ ๋ฐ˜ํ™˜ํƒ€์ž…, ๋ฉ”์„œ๋“œ ์ด๋ฆ„, ๋งค๊ฐœ๋ณ€์ˆ˜๋งŒ ํ‘œ๊ธฐํ•จ int length(): ๋ฌธ์ž์—ด์˜ ๊ธธ์ด(๋ฌธ์ž ์ˆ˜)๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. boolean isEmpty(): ๋ฌธ์ž์—ด์ด ๋น„์–ด์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ 0์ด๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. char charAt(int index): ์ง€์ •๋œ ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. int codePointAt(int index): ์ง€์ •๋œ ์ธ๋ฑ์Šค์˜ ๋ฌธ์ž(UTF-16 ์ฝ”๋“œ ์œ ๋‹›)์— ํ•ด๋‹นํ•˜๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ์ฝ”๋“œ ํฌ์ธํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. int codePointBefore(int index): ์ง€์ •๋œ ์ธ๋ฑ์Šค ์ด์ „์˜ ๋ฌธ์ž์— ํ•ด๋‹นํ•˜๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ์ฝ”๋“œ ํฌ์ธํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. int codePointCount(int beginIndex, int endIndex): ์ฃผ์–ด์ง„ ์ธ๋ฑ์Šค ๋ฒ”์œ„ ๋‚ด์˜ ์œ ๋‹ˆ์ฝ”๋“œ ์ฝ”๋“œ .. 2023. 11. 21.
[ch.16] ๋„คํŠธ์›Œํ‚น ๋„คํŠธ์›Œํ‚น ๋‘ ๋Œ€ ์ด์ƒ์˜ ์ปดํ“จํ„ฐ๋ฅผ ์ผ€์ด๋ธ”๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ. ์ปดํ“จํ„ฐ๊ฐ„์˜ ์—ญํ•  ๊ตฌ๋ถ„ ์„œ๋ฒ„: ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปดํ“จํ„ฐ ํด๋ผ์ด์–ธํŠธ: ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ปดํ“จํ„ฐ “์„œ๋น„์Šค” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ๋ฐ›์€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ. ์„œ๋ฒ„๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ ์„œ๋ฒ„ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„ํ”„๋กœ๊ทธ๋žจ๊ณผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”ํ•จ. ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ๋ชจ๋ธ ์„œ๋ฒ„๊ธฐ๋ฐ˜๋ชจ๋ธ: ์ „์šฉ์„œ๋ฒ„๋ฅผ ๋‘๋Š” ๊ฒƒ P2P๋ชจ๋ธ: ์ „์šฉ์„œ๋ฒ„X, ๊ฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—ญํ• ์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ. IP ์ปดํ“จํ„ฐ(ํ˜ธ์ŠคํŠธ)๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์œ ํ•œ๊ฐ’. IP์ฃผ์†Œ(๋„คํŠธ์›Œํฌ ์ฃผ์†Œ/ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ) InetAddress ํด๋ž˜์Šค InetAddressํด๋ž˜์Šค: IP์ฃผ์†Œ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค .. 2023. 11. 21.
[ch.15] ํ‘œ์ค€์ž…์ถœ๋ ฅ, ์ง๋ ฌํ™” ํ‘œ์ค€์ž…์ถœ๋ ฅ ๊ธฐ๋ณธ์ž…์ถœ๋ ฅ(BIOS), ํ•ญ์ƒ READY ์ฝ˜์†”์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ+ ์ฝ˜์†”๋กœ์˜ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ ์ž๋ฐ”์—์„œ ์ œ๊ณตํ•˜๋Š” ํ‘œ์ค€ I/O๋ฅผ ์œ„ํ•œ ์ž…์ถœ๋ ฅ์ŠคํŠธ๋ฆผ in / out / err Systemํด๋ž˜์Šค์— ์„ ์–ธ๋œ ํด๋ž˜์Šค๋ณ€์ˆ˜(static๋ณ€์ˆ˜). ์„ ์–ธ๋ถ€๋ถ„์—๋Š” InputStream, PrintStream์ด ์ ํ˜€์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” BufferedInputStream, BufferedOutputStream ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•จ. ์ฝ˜์†” ์ž…๋ ฅ์€ ๋ฒ„ํผ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ. ๊ทธ๋ž˜์„œ Backspace ํ‚ค๋ฅผ ์ด์šฉํ•œ ํŽธ์ง‘์ด ๊ฐ€๋Šฅ. ํ‘œ์ค€์ž…์ถœ๋ ฅ์˜ ๋Œ€์ƒ๋ณ€๊ฒฝ setOut( ), setErr( ), setIn( ) ๋‹ค๋ฅธ ์ž…์ถœ๋ ฅ ๋Œ€์ƒ์œผ๋กœ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•จ. RandomAccessFile ํด๋ž˜์Šค ์ด๋ฆ„์˜ ์˜๋ฏธ: ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ํŒŒ์ผ์„ ๋ฌด์ž‘์œ„(Rando.. 2023. 11. 21.
[ch.15] ์ž…์ถœ๋ ฅ I/O - ๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ ๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ ๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์˜ ์กฐ์ƒ ๋ฐ”์ดํŠธ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์˜ ์กฐ์ƒ์ด InputStream/ OutputStream์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฌธ์ž๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ์—๋Š” Reader/Writer๊ฐ€ ์กฐ์ƒ ์—ญํ• ์„ ํ•จ. byte๋ฐฐ์—ด ๋Œ€์‹  char๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•จ. ๋ฐ”์ดํŠธ๊ธฐ๋ฐ˜ : 1byte ๋ฌธ์ž๊ธฐ๋ฐ˜ : 2byte(char) +์ธ์ฝ”๋”ฉ ์—ฌ๋Ÿฌ์ข…๋ฅ˜์˜ ์ธ์ฝ”๋”ฉ/์ž๋ฐ”์˜ UTF-16๋ณ€ํ™˜ ์ž๋™์ฒ˜๋ฆฌ File R/W ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ํŒŒ์ผ์— ์“ฐ๋Š”๋ฐ ์‚ฌ์šฉํ•จ Piped R/W ์“ธ์ผ ๋ณ„๋กœ ์—†์Œ ์“ฐ๋ ˆ๋“œ๊ฐ•์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•จ. ์ž…๋ ฅ์ŠคํŠธ๋ฆผ&์ถœ๋ ฅ์ŠคํŠธ๋ฆผ์„ ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Œ โ‘ ์ŠคํŠธ๋ฆผ ์ƒ์„ฑ โ‘ก์–ด๋Š ํ•œ์ชฝ ์“ฐ๋ ˆ๋“œ์—์„œ connect( )๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์ž…์ถœ๋ ฅ ์—ฐ๊ฒฐ โ‘ข์ž…์ถœ๋ ฅ ํ›„ ํ•œ์ชฝ ์ŠคํŠธ๋ฆผ๋งŒ ๋‹ซ์•„๋„ ๋‚˜๋จธ์ง€ ์ž๋™๋‹ซํž˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— .. 2023. 11. 21.