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

๐Ÿš— Major Study (Bachelor)/๐ŸŸ  JAVA Programming40

JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 15.2์žฅ Icon์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ / Scroll Bar๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š๋ƒ / Border๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ• Using Icons ๋ฒ„ํŠผ์— Icon์ด ์ถ”๊ฐ€๊ฐ€ ๋˜๊ฑฐ๋‚˜ Label์— ์›ƒ๋Š” ๋ชจ์–‘์˜ Icon์ด ์ถ”๊ฐ€๊ฐ€ ๋˜์—ˆ๋‹ค. ImageIcon์„ ํ•˜๋ฉด ํ•ด๋‹น๋˜๋Š” ์•„์ด์ฝ˜์ด ์ƒ๊ธฐ๊ณ  Label์— setIconํ•˜๋ฉด ๊ทธ ๊ณณ์— Icon์ด ์™ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋Š” ํ˜•ํƒœ๊ฐ€ ๋œ๋‹ค. BorderLayout์— ์ฝ˜ํ…ํŠธ ๋ฐฐ์น˜ํ•˜๊ฒ ๋‹ค๋Š” ์ฝ”๋“œ ๋ผ๋ฒจ์„ ๋งŒ๋“ค์–ด์„œ setIcon์„ ํ•˜๊ฑฐ๋‚˜ helloButton์— ICON์„ ํ•˜๋‚˜ new ํ•ด์„œ ๋งŒ๋“ค๊ณ  helloButton์— add๋ฅผ ํ•˜๋Š” ๋“ฑ์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค. Swing Method ๋ฒ„ํŠผ์— Icon์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ setIcon ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ๋ฒ•! ๊ธฐํƒ€ ๋ฉ”์†Œ๋“œ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”๋‰ด์—๋‹ค๊ฐ€๋„ ICON์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. JFram.. 2021. 12. 7.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 15.1์žฅ Menu์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋Š” ๋ถ€๋ถ„ Memo๋ผ๋Š” ๊ฒƒ์„ ๋ˆ„๋ฅด๋ฉด ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋‰ด๊ฐ€ ๋‚˜์˜จ๋‹ค. ์˜†์œผ๋กœ ๊ณ„์† ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฉ”๋‰ด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์‚ฌ 3๊ฐœ์˜ ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 1. JMenuBar 2. Jmenu 3, JMenuItem ์ œ์ผ ์ƒ๋‹จ์— ์žˆ๋Š” ๊ฒƒ์ด JMenu ์•„๋ž˜๋กœ ์ญˆ๋ฃจ๋ฃฉ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด JMenuItem์ด๋‹ค. ์—ฌ๊ธฐ์—๋Š” 5๊ฐœ์˜ MenuItem์ด ์žˆ๋‹ค. JFrame์„ Extendsํ•˜๊ณ  Actionister๋ฅผ implements ํ–ˆ๋‹ค. Memo Saver๋ผ๋Š” ๊ฒƒ์ด ํƒ€์ดํ‹€ contentPane์„ ํ™•๋ณดํ•˜๊ณ  BorderLayout์„ ํ•œ๋‹ค. JMenu๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— JMenuItem์„ ๋งŒ๋“ค์–ด์„œ add ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ญ์‹œ addActionLister์— this๋กœ ํ•ด๋‹น ์ผ์ฒ˜๋ฆฌ๋ฅผ ๋ถ€ํƒํ•ด๋‹ฌ๋ผ๋Š” ๊ฒƒ์„ ์ž‘์„ฑํ•œ๋‹ค.. 2021. 12. 7.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 12.3 head position = position.getlink(); 2021. 11. 17.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 12.2 Collection๊ณผ ๊ด€๋ จ๋œ Interface์™€ ํด๋ž˜์Šค๋ฅผ ๋ชจ์•„ ์ •๋ฆฌํ•ด ๋†“์•„ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“  ๊ฒƒ์„ Collection Framework๋ผ๊ณ  ํ•œ๋‹ค. bag ์—๋Š” ์ˆœ์„œ ์—†์ด ๋“ค์–ด๊ฐ€๊ณ  ๋˜‘๊ฐ™์€ ๋ฌผ๊ฑด์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. Set ์—ญ์‹œ ์ˆœ์„œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ ๋˜‘๊ฐ™์€ ๋ฌผ๊ฑด์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋‹ค. -> 2๊ฐœ ๋„ฃ์–ด๋„ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๊ณ  ์žˆ๋‹ค. ์ผ๋‹จ ๋ฐ›๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. List๋Š” ์ˆœ์„œ๊ฐ€ ์กด์žฌํ•˜๊ณ  ์ค‘๋ณต๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋Ÿฌํ•œ List์˜ ์ž๋ฐ”์—์„œ ์„œํฌํŠธํ•˜๋Š” ๊ฒƒ์„ List Interface๊ฐ€ ๋œ๋‹ค. Map Interface key์™€ value๊ฐ€ ์Œ์œผ๋กœ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ. Collection Interface ๋Š” Bag ์ด๋ผ๋Š” ๊ฐœ๋…์˜ Interface ์ด๋‹ค. ์ˆœ์„œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๊ณ  ์ค‘๋ณต๋  ์ˆ˜ ์žˆ๋‹ค. Set์ด๋ผ๋Š” ๊ฒƒ์€ .. 2021. 11. 17.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 12.1์žฅ not, run time ๋ฐฐ์—ด ๋ณด๋‹ค ๋” ํฐ ๋ฌธ์ž์—ด์ด ์˜ค๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์ง„ํ–‰๋˜๋Š” ๋„์ค‘์— ๋Š˜์—ˆ๋‹ค ์ค„์—ˆ๋‹ค ํ•œ๋‹ค๋Š” ์–˜๊ธฐ efficient, primitive Integer Wrapper ํด๋ž˜์Šค๋กœ ์˜ค๋ธŒ์ ํŠธํ™” ์‹œ์ผœ์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ArrayList์— ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์•ž๋ถ€๋ถ„์— ํ•  ๊ฒƒ์ธ์ง€ ๋’ค์— ํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตณ์ด 20์ด๋ผ๋Š” ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„ ๋˜์ง€๋งŒ ์ผ๋‹จ ์ž‘์„ฑํ•ด๋†“๊ณ  ์„ ์–ธํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. For Each ๋ฌธ์„ ํ™œ์šฉํ•ด์„œ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. trimToSize ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ํƒ€์ž…์ด parameter๋กœ ๋„˜์–ด๊ฐ€๋Š” ๊ฐ„๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. 2021. 11. 17.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10.6 ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐฉ์‹์„ Protocol ์ด๋ผ๊ณ  ํ•˜๋ฉฐ TCP/IP ๊ฐ€ ์žˆ๋‹ค. ๋™์‹œ์— ํ•œ port๋ฅผ ๊ฐ€์ง€๊ณ  2๊ฐœ์˜ application์ด ๋™์‹œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜๋Š” ์—†๋‹ค. Server ํ”„๋กœ๊ทธ๋žจ์—์„œ ํŠน์ • port๋ฅผ ์ง€์ •ํ•ด์„œ ์—ฐ๊ฒฐ์„ ํ•˜๊ฒŒ ๋œ๋‹ค. Server๋Š” ๋ฐ›์„ ๋•Œ๋Š” Scanner ๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 2021. 11. 9.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10.5 serializable, serializable Interface Object(Binary file) ์ž์ฒด๋ฅผ Inputํ•˜๊ณ  outputํ•˜๋Š” ๊ฒƒ์„ ์–˜๊ธฐํ•ด๋ณด์ž๊ณ  ํ•จ. Object๋Š” serializable์ด๋ผ๋Š” ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด ์†์„ฑ์„ ๊ฐ€์ง€๋ ค๋ฉด serializable Interface ์ด๊ฒƒ์„ implement ํ•ด์•ผ ํ•œ๋‹ค. serializable Interface ๋Š” ๊ตฌํ˜„ํ•ด์•ผํ•  ๋ฉ”์†Œ๋“œ ์—†๋‹ค. ๋น„์–ด์žˆ๋Š” Interface์ด๋‹ค. ๋‹ค์‹œ ๋งํ•ด serializable์ด๋ผ๋Š” ์†์„ฑ๊ฐ’์„ ๊ฐ–๋Š” ๋‹ค๋Š” ๊ฒƒ์„ ์ง€์ •ํ•ด์ฃผ๋Š” ํšจ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด์ฃผ๋Š” ๊ฒƒ์ด์ง€ ํŠน๋ณ„ํžˆ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ผญ ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์—†๋‹ค. ์ด๋Ÿฌํ•œ Interface๋ฅผ Marker Interface๋ผ๊ณ  ํ•œ๋‹ค. ํŠน์ • Property๊ฐ€ ์žˆ๋‹ค๊ณ  Mark ํ•ด์ฃผ๋Š” ๊ทธ๋Ÿฐ Interf.. 2021. 11. 9.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10.4 Binary๋ฅผ ์œ„ํ•œ ํŒŒ์ผ ํด๋ž˜์Šค๋Š” ๋ฌด์—‡์ด ์กด์žฌํ• ๊นŒ? ObjectOutputStream๊ณผ FileOutputStream์ด Binary ํŒŒ์ผ์„ Input Outputํ•˜๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋œ๋‹ค. IOException์€ ๋ฐ˜๋“œ์‹œ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์„ ์–ธ์„ ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ์ด๋ ‡๊ฒŒ ์„ ์–ธ์„ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. writeChar ๋ฉ”์†Œ๋“œ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž…์€ Integer๊ฐ€ ๋“ค์–ด์˜จ๋‹ค๋Š” ๊ฒƒ์— ์œ ์˜ํ•˜์ž๊ณ  ํ•˜์…จ์Œ. ํ•˜์ง€๋งŒ ๋ฌธ์ž๋ฅผ 'A' ์ฒ˜๋Ÿผ ๋„ฃ์œผ๋ฉด JAVA๊ฐ€ ์ž๋™์ ์œผ๋กœ ๋ณ€ํ™˜์„ ํ•ด์ฃผ๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์ •ํ™•ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•˜์…จ์Œ String์„ ์ถœ๋ ฅํ•  ๋•Œ๋Š” writeUTF๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. not printable BinaryํŒŒ์ผ์€ ์–ด๋””์„œ๋ถ€ํ„ฐ ์–ด๋””๊นŒ์ง€๊ฐ€ Integer์ด๊ณ  ์ด๋Ÿฐ ๊ฒƒ์ด ์—†๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ์ญˆ์šฑ Binary์ด๋‹ค. sentinel va.. 2021. 11. 9.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10.3 file names, method primitive type integer์— ๋Œ€ํ•œ wrapper ํด๋ž˜์Šค INTEGER ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํŒŒ์ผ์— ๋Œ€ํ•œ Wrapper class ์ฒ˜๋Ÿผ ์ž‘๋™ํ•œ๋‹ค. method๊ฐ€ ๋งŽ์ด ์กด์žฌํ•œ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ File ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๊ณ  .๋ฉ”์†Œ๋“œ ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค, ํ…์ŠคํŠธ ํŒŒ์ผ์„ ์ฝ์–ด์™€์„œ , ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ๋Š” ์—ฐ์‚ฐ์ž๋ฅผ split์œผ๋กœ ๋‚˜๋ˆ ์„œ ์ฝ๊ณ  try catch๋ฅผ ํ†ตํ•ด ์˜ˆ์™ธ์ƒํ™ฉ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ 2021. 11. 9.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10.2 filter class๊ฐ€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„~ PrintWriter ์™€ BufferedReader ์—†์ด๋„ File I/O๋ฅผ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ์ผ์ผ์ด Integer๋กœ Byte๋กœ ๋ฐ”๊พธ๊ณ  ์ด๋Ÿฐ ๊ณผ์ •์„ ๋‹ค ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๊ฒƒ์„ ๋„์™€์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. PrintWriter๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ FileNotFoundexception์ด ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ํ•ด๋‹น Constructor๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ชฝ์—์„ธ ์ด์— ๋Œ€ํ•œ ๋Œ€์ฑ…์„ ์„ธ์›Œ๋ผ!! filter class FileOutputStream, ์ƒ์–ผ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ์ž‘์—…์„ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. PrintWriter(ํ™”์žฅํ’ˆ ์—ญํ• ) filter class: ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ Write ํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค by the operating .. 2021. 11. 6.