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

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

JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10.1 printable character, not printable files 2021. 11. 6.
JAVAFX 9.4 ๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ƒ‰๊น”์„ ํ‘œํ˜„ํ–ˆ์„ ๋•Œ์™€ ํด๋ฆญ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋งˆ์šฐ์Šค์˜ ์œ„์น˜์— ๋”ฐ๋ผ ์›์ด ๋”ฐ๋ผ ์›€์ง์ด๋Š” ๊ฒƒ์„ ๊ตฌํ˜„ํ•จ 2021. 11. 6.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 9.3 ์ฑ…์ž„์„ ์ „๊ฐ€ํ•˜๋Š” ๋ฒ• (Passing the buck) responsiblility, handle any exception ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์— ์ฑ…์ž„์„ ์ „๊ฐ€ํ•˜๋Š” ๊ฒƒ. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด catch๋ฅผ ํ•ด์•ผํ•˜๋Š”๋ฐ ํ•˜์ง€ ๋ชปํ•˜๋ฉด ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ์ฑ…์ž„์„ ์œ„์—๋‹ค ์ „๊ฐ€์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค. throws์˜ ๋œป์€, ๋„ˆ๊ฐ€ ๋‚˜๋ฅผ ๋ถ€๋ฅธ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ exception์„ handle ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. a-throws clause normal ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ณณ์—์„œ throws๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  try-catch๋ฌธ์„ ํ†ตํ•ด์„œ exception์„ handle ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด normal() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ณณ์—์„œ ์ฑ…์ž„์„ ์ ธ๋ผ!!! ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค ์ด ๊ฒฝ์šฐ์—๋Š” ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. normal ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์—์„œ๋„ try-catch๋กœ handl.. 2021. 11. 2.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 9.2 Defining your own Exception classes constructors ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  exception์€ Exception ํด๋ž˜์Šค์˜ child Class ๋ผ๋Š” ๊ฒƒ์„ ๊ผญ ๊ธฐ์–ตํ•˜๊ธฐ ์šฐ๋ฆฌ๊ฐ€ ํ•  ๊ฒƒ์€ Constructor๋งŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค!! Exception์„ ์ƒ์„ฑํ•ด ๋˜์ง€๊ฒŒ ๋˜๋Š” ๋ฌธ์ž์—ด์€ Object์•ˆ์— ์กด์žฌํ•˜๋Š” instance ๋ณ€์ˆ˜์— ์ €์žฅ์ด ๋˜๊ณ  getMessage ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ๋ฆฌํ„ด์„ ํ•˜๊ฒŒ ๋œ๋‹ค. general ํ•˜๊ฒŒ ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ Exception์œผ๋กœ ๋˜์ง€๊ฒŒ ๋˜๋ฉด catch block์—์„œ general ํ•œ Exception์œผ๋กœ ๋ฐ›๊ณ  ๋งŒ์•ฝ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ Exception์œผ๋กœ ๋˜์ง€๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ specifical ํ•œ exception ์œผ๋กœ ๋ฐ›์œผ๋ฉด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ "Is a re.. 2021. 11. 2.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 9.1 Exception Handling normal operation, exceptional case Normal case์™€ Exceptional case๋กœ ๋‚˜๋‰˜๊ณ  Exceptional case๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐœ ๋ฐœ์ƒํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ์˜ˆ์™ธ์ƒํ™ฉ ๋‘ ๋ฒˆ์งธ๋Š” ์—๋Ÿฌ์ด๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ๋•Œ incremently(์ ์ฐจ์ ์œผ๋กœ) ํ•˜๊ฒŒ ๊ฐœ๋ฐœ์„ ํ•œ๋‹ค. ์ผ๋‹จ normal coding์„ ํ•˜๊ณ  exceptional case๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด incremently ์ฝ”๋”ฉ์ด๋‹ค. ์‰ฝ๊ฒŒ ๋ถ„๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฃจ๊ณ ์ž ํ•˜๋Š” Exceptional ์ฝ”๋”ฉ์ด ๋œ๋‹ค. (isolated) Throwing, Handling, catching Throwing - exception์„ ๋ฐœ์ƒํ•œ๋‹ค๋ผ๊ณ  ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. Handling์„ ํ•  ๋•Œ ์ค‘์š”ํ•œ ๊ฒƒ์€.. 2021. 11. 2.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8.4 8.4 Interfaces and Abstract Classes Interface์™€ ํด๋ž˜์Šค์˜ ์ฐจ์ด์  - Constructor๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ. - Instance variable์ด ์—†๋‹ค๋Š” ์ . - ๋ฉ”์†Œ๋“œ์˜ body๊ฐ€ ์—†์ด ์„ ์–ธ๋งŒ ๋˜์–ด์žˆ๋‹ค๋Š” ์  Parent ํด๋ž˜์Šค๊ฐ€ ๋“ค์–ด๊ฐˆ ์ž๋ฆฌ์— Interface๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด ๊ทธ๋Œ€๋กœ polymorphism์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค Interface๊ฐ€ ํƒ€์ž…์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. Measurable์˜ ํƒ€์ž…์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด ํ•ด๋‹น Interface์˜ ์ž๋…€ ํด๋ž˜์Šค๊ฐ€ ๊ทธ๊ณณ์œผ๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. Is a relation ์ด ์„ฑ๋ฆฝํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ ‡๊ฒŒ Interface๋กœ ์ƒ์„ฑํ•ด๋„ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๋‹ค. ๋ถ€๋ชจ ํด๋ž˜์Šค์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. Inferface์—๋Š” ๋ฉ”์†Œ๋“œ์— ์„ ์–ธ๋งŒ ๋˜์–ด์žˆ์„.. 2021. 10. 29.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8.3 8.3 Polymorphism ์„œ๋กœ ๋‹ค๋ฅธ ์ƒํ™ฉ์—์„œ ๋‹ค๋ฅธ ํ–‰๋™์„ ํ•œ๋‹ค. Dynamic Binding ์ด๋ž€? ์–ด๋–ค ๊ฒƒ์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์ง€์— ๊ด€๋ จ๋œ ์šฉ์–ด (๊ต์ˆ˜๋‹˜๋„ ์• ๋งคํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์‹ฌ) Static์€ Compile์„ ํ•  ๋•Œ ๊ฒฐ์ •๋œ๋‹ค. Dynamic์€ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๊ฒฐ์ •๋œ๋‹ค. ์ปดํŒŒ์ผํ•  ๋•Œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์„ Static Binding ์ด๋ผ๊ณ  ํ•˜๊ณ  Run time์ผ ๋•Œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์„ Dynamic BInding์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋˜๋Š” late binding์ด๋ผ๊ณ  ํ•œ๋‹ค. Binding ์€ Override๋œ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ๋ถ€๋ชจ ํด๋ž˜์Šค์™€ ์ž์‹ ํด๋ž˜์Šค ์‚ฌ์ด์—์„œ Binding ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์ปดํŒŒ์ผ ํ•  ๋•Œ๋Š” ์–ด๋–ค ๋ฉ”์†Œ๋“œ๊ฐ€ ์‚ฌ์šฉ๋  ์ง€ ๋ชจ๋ฅธ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” run-time ๋•Œ ์•Œ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ™์€ .. 2021. 10. 29.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 7.1 7.1 Arrays Array๋Š” ๊ฐ™์€ ํƒ€์ž…์„ ๊ฐ€์ง„ ๊ฐ’๋“ค์ด ๋ชจ์•„์ ธ ์žˆ๋Š” ๊ฒƒ subscript notation, ์ฆ‰ index ๊ฐ’์ด ์žˆ์–ด์„œ ๋ฐฐ์—ด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. Array๋Š” object ์— ๊ฐ€๊นŒ์šฐ ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๊ณ  ํด๋ž˜์Šค ํƒ€์ž…์€ ์•„๋‹˜ ํด๋ž˜์Šค๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— Inheritance๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€๊ด„ํ˜ธ๋ฅผ ์—ด๊ณ  ๋‹ซ๋Š”๋‹ค indexed variable pressure๊ฐ€ ๋ฐฐ์—ด์ธ๋ฐ 1์ฐจ์› ๋ฐฐ์—ด์ด๋‹ค!! ๋ผ๋Š” ๊ฒƒ์„ ๋งํ•ด์ฃผ๋Š” ์˜๋ฏธ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐ ๋Œ€๊ด„ํ˜ธ๊ฐ€ ์“ฐ์ด๊ธฐ๋„ ํ•œ๋‹ค. Index, Indexed variable ๋ฐฐ์—ด ์ด๋ฆ„์„ ์ง€์„ ๋•Œ ๋ณต์ˆ˜ํ˜•์ด ์ข‹์€์ง€ ๋‹จ์ˆ˜ํ˜•์ด ์ข‹์€์ง€์— ๋Œ€ํ•œ ํŒ๋‹จ..??!! ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.~!~!~!~!~ ์ž๋ฐ”์—์„œ ๋ฐฐ์—ด์˜ element ๊ฐœ์ˆ˜๋ฅผ ๊ฐ–๊ณ  .. 2021. 10. 28.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 6.8 6.8 Graphics Supplement : Outline 6.8์—์„œ ๋งŒ๋“œ๋Š” ๋ฒ„ํŠผ์€ ๋ชจ์–‘๋งŒ ๋ฒ„ํŠผ์ด๊ณ  ๋ˆŒ๋ฆฌ๊ธฐ๋งŒ ํ•  ๋ฟ ์•„๋ฌด๋Ÿฐ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ๊ทธ๋Ÿฐ Button์ด๋‹ค. ๋ฒ„ํŠผ์— ํด๋”์— ์žˆ๋Š” ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. 2021. 10. 28.
JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 6.7 6.7 Package a collection of related class ํด๋ž˜์Šค Path๋กœ ์ง€์ •ํ•œ ๊ณณ๋ถ€ํ„ฐ ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•˜๋ผ๋Š” ๋œป 2021. 10. 28.