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

๐Ÿ–ฅ๏ธ135

[Java] try ~ catch ~finally ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฌธ๋ฒ•์  ์˜ค๋ฅ˜๋Š” IDE ์ฝ”๋”ฉ๋‹จ๊ณ„, ์ปดํŒŒ์ผ ์‹œ ์—๋Ÿฌ๋ฅผ ๊ฒ€์ถœํ•ด์ฃผ๊ณ , ์‹คํ–‰ํ•  ๋•Œ ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜๋Š” Runtime Error๊ฐ€ ๋œฌ๋‹ค. try ~ catch ~ finally try {์‹คํ–‰ ๊ตฌ๋ฌธ } catch(Exception e){ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ์„ ๋•Œ ํ•  ๋ช…๋ น ๊ตฌ๋ฌธ } finally{ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์‹คํ–‰์‹œ์ผœ์•ผ ํ•  ๋ช…๋ น } ์˜ˆ์‹œ ์ฝ”๋“œ try { result = a/b; aa = b + a; } catch(Exception e){ e.print.Trace(); } finally{ b = 1; aa = b + a; } 2023. 3. 22.
์šด์˜์ฒด์ œ(OS) ์‹œ์Šคํ…œ ์ž์›์€ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด ๋งˆ๋•…ํžˆ ํ•„์š”ํ•œ ์š”์†Œ๋กœ, ์ปดํ“จํ„ฐ์˜ ๋„ค๊ฐ€์ง€ ํ•ต์‹ฌ ๋ถ€ํ’ˆ๋„ ํฌํ•จ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šด์˜์ฒด์ œ๋ž€, ์ด ์ž์›๋“ค๊ณผ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ(=ํ”„๋กœ์„ธ์Šค)๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, ํ”„๋กœ๊ทธ๋žจ์ด ์ปดํ“จํŒ… ์ž์›๋“ค์„ ํšจ์œจ์ ์„ ์‚ฌ์šฉํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์šด์˜์ฒด์ œ๋„ ํ”„๋กœ๊ทธ๋žจ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๊ฒƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ปค๋„ ์˜์—ญ์— ์ ์žฌ๋ผ์„œ ์‹คํ–‰๋œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ๋“ค์–ด๋ณธ Windows, Android, Mac OS ๋“ฑ์ด ์šด์˜์ฒด์ œ์ด๋‹ค. ์ปดํ“จํ„ฐ์šฉ ์šด์˜์ฒด์ œ์—๋Š” ํฌ๊ฒŒ Windows, Linux, Unix๊ฐ€ ์žˆ๋‹ค. Windows๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ตœ์ ํ™”๊ฐ€ ์ž˜ ๋˜์–ด์žˆ์–ด์„œ ํ˜„์žฌ ์ ์œ ์œจ์ด ์ œ์ผ ๋†’์ง€๋งŒ, ๊ฐœ๋ฐœํ™˜๊ฒฝ์œผ๋กœ๋Š” ๋ถ€์กฑํ•œ ์ ์ด ์žˆ์–ด Linux์™€ Unix๋„ ์ข….. 2023. 3. 22.
์ปดํ“จํ„ฐ์˜ ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ 1. CPU (Central Processing Unit: ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜) CPU๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ๊ฐ’์„ ์ฝ์–ด๋“ค์ด๊ณ , ํ•ด์„ํ•˜๊ณ , ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์†๋„๊ฐ€ ์ค‘์š”ํ•˜์—ฌ์†๋„์˜ ๋‹จ์œ„๋ฅผ ํด๋Ÿญ์ด๋ผ๊ณ  ํ•˜๊ณ , Hz๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์†๋„๋Š” ์ง€๊ธˆ ์ƒํ–ฅํ‰์ค€ํ™”๋˜์–ด์„œ ๋ณ„๋กœ ํฐ ์˜๋ฏธ๊ฐ€ ์—†๊ณ , ์„ฑ๋Šฅ์„ ๋”ฐ์ง€๊ฒŒ ๋˜์—ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด, ์ธํ…” Core i-9/7/5/3 ์—์„œ ์ˆซ์ž๋Š” ์„ธ๋Œ€๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ํด์ˆ˜๋ก ์„ฑ๋Šฅ์ด ์ข‹์€ ๊ฒƒ์ด๋ผ ๋น„์‹ธ๋‹ค. ๋˜ ํ•œ ๊ฐœ์˜ CPU ๋‚ด๋ถ€์— 2๊ฐœ, 4๊ฐœ, 6๊ฐœ ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฝ”์–ด๋ฅผ ๋„ฃ๊ฒŒ ๋˜๋ฉด์„œ CPU์˜ ์„ฑ๋Šฅ์„ ๊ณ ๋ คํ•  ๋• ๋‹ค๋ฐฉ๋ฉด์œผ๋กœ ํ™•์ธ์„ ํ•ด์•ผํ•œ๋‹ค. 1-1. ALU (Aruthmetic Logic Unit: ์—ฐ์‚ฐ๋…ผ๋ฆฌ์žฅ) CPU์—์„œ ๊ณ„์‚ฐ๊ธฐ ์—ญํ• ์„ ํ•œ๋‹ค. ๊ณ„์‚ฐ์„ ์œ„ํ•ด ์กด์žฌํ•˜๋Š” ํšŒ๋กœ๋“ค์˜ ๋ชจ์ž„์ด๋ผ.. 2023. 3. 22.
[Java] ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด(OOP)์˜ ํŠน์„ฑ: ์ฝ”๋“œ๋กœ ๋ณด๋Š” ์บก์Šํ™”, ์ƒ์†์„ฑ, ๋‹คํ˜•์„ฑ, ์ถ”์ƒํ™” ์ปดํ“จํ„ฐ ์–ธ์–ด๋Š” ํฌ๊ฒŒ ์ ˆ์ฐจํ˜•(Precedural Program Language)๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ(Object Oriented Program Language)์ด ์žˆ๋Š”๋ฐ, Java์˜ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋ผ๋Š” ์ ์ด๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์˜ ์ œ์ผ ํฐ ์žฅ์ ์€ ํ˜‘์—…ํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜๋‹ค๋Š” ์ ์ด๋‹ค. 1. ์บก์Šํ™”(Encapsulation) ๊ฐ์ฒด๋ฅผ ์ธ์Šคํ„ด์Šคํ™”ํ•ด์„œ ์ธ์Šคํ„ด์Šค ๊ฐ„ ์„œ๋กœ ์˜ํ–ฅ์„ ์•ˆ ์ฃผ๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ์šด์˜ํ•œ๋‹ค. ๊ฐ์ฒด๋ฅผ ๋‚ด๋ถ€๋ฅผ ๋ณดํ˜ธํ•˜๊ณ  ๋ณผ ์ˆ˜ ์—†๊ฒŒ ํ•˜์—ฌ ์ •๋ณด ์€๋‹‰์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. 2. ์ƒ์†์„ฑ(Inheritance) ๋‹ค๋ฅธ ํด๋ž˜์Šค(๋ถ€๋ชจ ํด๋ž˜์Šค)์˜ ํŠน์„ฑ์„ ๊ทธ๋Œ€๋กœ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ, ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ฑ์„ ์ตœ๋Œ€ํ•œ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์ดํ•ดํ•ด๋ณด์ž ์˜ˆ์‹œ ์ฝ”๋“œ class Parent { int a = 3; int b =.. 2023. 3. 22.
[Java] Optional ๊ฐ์ฒด : ifPresent(), isPresent(), orElse(), map() Optional ๊ฐ์ฒด๋Š” Wrapper ๊ฐ์ฒด์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค. (Generic type) ์—ญํ•  ๋ฐ ๋ชฉ์ : ๋งค๋ฒˆ null ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ธฐ ๊ท€์ฐฎ๊ณ  ๊นŒ๋จน์œผ๋‹ˆ๊นŒ ์ž๋ฐ” 8 ๋ฒ„์ „๋ถ€ํ„ฐ null ์ฒ˜๋ฆฌ ์ „์šฉ ๊ฐ์ฒด์ธ Optional ๊ฐ์ฒด๊ฐ€ ์ƒ๊ฒผ๋‹ค. Optional์— ๊ฐ์ฒด๋ฅผ ๋„ฃ์–ด์„œ null๊ฐ’ ๋ฐœ์ƒ์„ ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. null : ๋“ค์–ด์™€์•ผ ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์•ˆ๋“ค์–ด์˜ค๋ฉด ์ž๋ฐ”๊ฐ€ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ๋ณ€์ˆ˜๋‚˜ ๊ฐ์ฒด ๋“ฑ์— ๋„ฃ์–ด์ฃผ๋Š” "์ผ์ข…์˜" ๋ฐ์ดํ„ฐ ํƒ€์ž…. ์‹คํ–‰ ์‹œ null์ด ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ, ๋Œ€๋ถ€๋ถ„์˜ ๋ฉ”์†Œ๋“œ์—์„œ NullPointException ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ๋˜๋ฉด์„œ ํ”„๋กœ๊ทธ๋žจ ์ž‘๋™์ด ์ค‘๋‹จ๋œ๋‹ค. String s = str == null?"null์ด ๋ฐœ์ƒ":str; ์‚ผํ•ญ์—ฐ์‚ฐ์ž ์‚ฌ์šฉํ•ด์„œ null ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ธฐ๋„ ํ•˜๊ณ  if(str == null) s.. 2023. 3. 22.
[Java] ๋ถˆ๋ณ€ ๊ฐ์ฒด์™€ Wrapper Class Java์—๋Š” ๋ถˆ๋ณ€(immutable) ๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค. ๋ถˆ๋ณ€ ๊ฐ์ฒด๋Š” ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ๋‚ด๋ถ€ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” String์ด ์žˆ๋Š”๋ฐ, ๋ฌธ์ž์—ด์„ ์ˆ˜์ •ํ•˜๋ฉด ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์ด์ „ ๋ฌธ์ž์—ด์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ ์™ธ์—๋„ Wrapper ํด๋ž˜์Šค, java.time ํŒจํ‚ค์ง€์˜ LocalDate, LocalDateTime ๋“ฑ๊ณผ java.math ํŒจํ‚ค์ง€์—์„œ BigInteger๊ณผ BigDecimal๋„ ๋ถˆ๋ณ€ ๊ฐ์ฒด์ด๋‹ค. Wrapper Class๋Š” ์ž๋ฐ” ๋ฐ์ดํ„ฐํƒ€์ž…์˜ ์—ญํ• ์„ ํ•˜๋Š” ํด๋ž˜์Šค์ด๋‹ค. int, short, long, float, double ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด Integer, Short, Long, Float, Double, Arrays ๋“ฑ ํด๋ž˜์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. int a์™€ Integer .. 2023. 3. 22.
[Java] Stream API: stream์˜ ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ๊ณผ ์˜ˆ์‹œ ์ฝ”๋“œ ์ž๋ฐ”์—์„œ๋Š” ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜(collect Framework)์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ(if while ๋“ฑ๋“ฑ..)์ด๋‚˜ ๋ฐ˜๋ณต์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ์ฝ”๋“œ๋Š” ๊ธธ์ด๊ฐ€ ๊ธธ๊ณ  ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๋ฉฐ, ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•จ(๋งค๋ฒˆ ๋ฐฐ์—ด์˜ ๊ฐ’์„ ๋„ฃ๊ณ  ์ฝ์–ด์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•จ). ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ฟผ๋ฆฌ์™€ ๊ฐ™์ด ์ •ํ˜•ํ™”๋œ ์ฒ˜๋ฆฌ ํŒจํ„ด์„ ๊ฐ€์ง€์ง€ ๋ชปํ–ˆ๊ธฐ์— ๋งค๋ฒˆ ๋ฐ์ดํ„ฐ๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ•ด์„œ ์ž‘์—…์„ ํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด Java8๋ถ€ํ„ฐ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋žจ์˜ ํŠน์„ฑ์„ ๊ฐ€์ง„ stream์ด๋ผ๋Š” API(๊ฐ์ฒด)๋ฅผ ๋„์ž…ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. stream API๋Š” ์ •ํ˜•์ ์ธ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ/์“ฐ๊ธฐ์— ํŠนํ™”๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•จ์œผ.. 2023. 3. 21.
[Java] ๋žŒ๋‹ค(Lambda) ํ‘œ๊ธฐ๋ฒ• ๋žŒ๋‹ค ํ‘œ๊ธฐ๋ฒ•์ด๋ž€! ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•˜๊ฑฐ๋‚˜ ์ธ์ž๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋“ฑ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ, ๋ฐ˜๋ณต๋˜๋Š” ์š”์†Œ๋ฅผ ์ตœ๋Œ€ํ•œ ์ค„์—ฌ์„œ ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ๊ธธ์ด๋ฅผ ์ค„์ด๋Š” ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ‘œ๊ธฐ๋ฒ•์ด๋‹ค. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์กฐ๊ธˆ์”ฉ ์‚ฌ์šฉ๋จ์— ๋”ฐ๋ผ ์‚ฌ์šฉ ๋นˆ๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜์˜€๋‹ค. ๋žŒ๋‹คํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ->๋กœ ์ฝ”๋“œ์˜ ๊ธธ์ด๋ฅผ ํ™• ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. 1. ๋žŒ๋‹ค์‹์„ ์ด์šฉํ•œ ์ต๋ช…ํ•จ์ˆ˜ 1-1. ์ธ์ž๊ฐ€ 2๊ฐœ์ธ ๊ฒฝ์šฐ @FunctionalInterface interface MyLambdaFunction { int sum(int a, int b); } public class LambdaExample { public static void main(String[] args) { //2๊ฐœ์˜ ์ธ์ž๋ฅผ ๋ฐ›์•„์„œ ๊ณ„์‚ฐ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋žŒ๋‹คํ‘œ๊ธฐ๋ฒ•์„ ์ƒ์„ฑ MyLambdaFu.. 2023. 3. 21.
728x90

"); wcs_do();