์ „์ฒด ๊ธ€ 267

[Spring Boot] application.properties vs application.yml

์ด๋ฒˆ์— ํ† ์ด ํ”„๋กœ์ ํŠธ ํ•œ๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ธฐ ์œ„ํ•ด ์˜ค๋žœ๋งŒ์— ๊ฐœ์ธ์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํ‰์†Œ์—๋„ ๋งŽ์ด ์ƒ๊ฐํ–ˆ์ง€๋งŒ SI์—์„œ ๊ธฐ๋Šฅ๊ฐœ๋ฐœ์œ„์ฃผ๋งŒ ํ•˜๋‹ค ๋ณด๋‹ˆ ํ™•์‹คํžˆ ์ด๋Ÿฐ ๋ถ€๋ถ„์—์„œ ์•„์ฃผ ์ทจ์•ฝํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋‹ค์‹œ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์›€ ํ”„๋กœ์ ํŠธ๋ฅผ ์•„์˜ˆ ์ƒ์„ฑํ•  ์ผ์ด ์—†๋‹ค๋ณด๋‹ˆ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ง‰ํ˜€์„œ ๋ฒ„๋ฒ…๊ฑฐ๋ฆฌ๋Š” ์ ˆ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด์ฐŒ๋ณด๋ฉด ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ๋ถ€๋ถ„์„ ์ž˜ ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ ˆ ๋ณด๊ณ  ์กฐ๊ธˆ์”ฉ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ฒ˜์Œ ์ƒ์„ฑํ–ˆ์„ ๋•Œ ๋งŒ๋“œ๋Š” application.properties ํŒŒ์ผ์— ๊ด€๋ จํ•ด์„œ ๋‹ค์‹œ ๋ฆฌ๋งˆ์ธ๋“œ ํ•˜๋ฉฐ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. application.properties ์šฐ์„  ์ฒ˜์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉด .properties ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .properties ํŒŒ์ผ์€ key-val..

[JUnit] private Method ํ…Œ์ŠคํŠธํ•˜๊ธฐ!

์‚ฌ์‹ค private Method๊ฐ€ test๊ฐ€ ๋˜์ง€ ์•Š์€ ์ด์œ ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•  ํ•„์š”๊ฐ€ ์—†๊ฒŒ๋” ๊ตฌํ˜„ํ•˜๋ผ๋Š” ์˜๋„๊ฐ€ ๊น”๋ ค ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€๋” private Method๋ฅผ ํ…Œ์ŠคํŠธ ํ•ด์•ผํ•  ๋•Œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ € ๊ฐ™์€ ๊ฒฝ์šฐ ์ค‘๊ฐ„์— ์ธ์ˆ˜์ธ๊ณ„๋ฐ›์€ ์ž‘์—…์ด ์กด์žฌํ•˜๋Š”๋ฐ spec์ด ๋ณ€๊ฒฝ๋˜๋ฉด์„œ ํ•ด๋‹น Method๋งŒ์„ ํ…Œ์ŠคํŠธ ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋‚˜๋ฆ„์˜ ๋ฐฉ๋ฒ•์„ ์ฐพ์€ ํ›„ ํ•ด๋‹น ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Method์™€ ReflectionTestUtils ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. java.lang.reflect.Method org.springframework.test.util.ReflectionTestUtils TestCode ์•„๋ž˜์™€ ๊ฐ™์ด Pr..

Languages/java 2022.09.07

[IntelliJ] Editor Tab ํ•œ๊ฐœ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ

์ €๋Š” ์—ฌ๋Ÿฌ๋Œ€์˜ ๋…ธํŠธ๋ถ์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋‹ˆ ๊ฐ๊ฐ์˜ intelliJ์˜ ์‚ฌ์šฉ ํ™˜๊ฒฝ์ด ๋‹ฌ๋ผ ๋งค๋ฒˆ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์ด๋ฒˆ ์—ญ์‹œ ์„ค์ •์„ ์ˆ˜์ •ํ•˜๋Š”๋ฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋˜๋‹ค์‹œ ๊ฒ€์ƒ‰ํ•˜๋Š” ์ ˆ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ œ ๋ธ”๋กœ๊ทธ๋ฅผ ๋’ค์ ธ๋ณด๋‹ˆ ์ด๋ฏธ ๊ธ€์„ ์ž‘์„ฑํ–ˆ๋”๊ตฐ์š” ใ…Žใ…Ž ๊ทธ๋ž˜์„œ v2๋กœ ํ•œ๋ฒˆ ๋” ์ž‘์„ฑํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „์— ํ•œ๋ฒˆ ์ž‘์„ฑํ–ˆ๋˜... ๊ธฐ๋ณธ ์„ค์ •(์—ฌ๋Ÿฌ๊ฐœ์˜ Editor Tab) ๋Œ€๋ถ€๋ถ„์˜ IDE Tool์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ Editor Tab์ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ intelliJ๋Š” cmd + e ํ˜น์€ ctrl + e ๊ธฐ๋Šฅ์œผ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ์ธ์ ์œผ๋กœ ์œ„์˜ ์ƒ๋‹จ๋ฐ”์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํƒญ์ด ์กด์žฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค. ์—†์œผ๋ฉด intellij๊ฐ€ ํ›จ์”ฌ ๊น”๋”ํ•ด ์ง€๋Š” ๊ธฐ๋ถ„์ด..

Tools 2022.09.02

[Kafka] Kafka? ์นดํ”„์นด์˜ ๊ธฐ๋ณธ์ง€์‹

๋ช‡์ผ ์ „ ๋™๋ฃŒ๊ฐ€ kafka ๋ฐฉ์‹์˜ Subscriber๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์–ด ์ž ๊น ํ•จ๊ป˜ ๊ด€๋ จ๋œ ๊ฒƒ๋“ค์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๊ณ ๋ฏผํ•ด ๋ณด์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ๋ฌธ๋“ ๋“  ์ƒ๊ฐ์ด ๋ฌด์‹ฌ์ฝ” kafka(์นดํ”„์นด)๋ฅผ ์‚ฌ์šฉ์€ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์•Œ๊ณ  ์žˆ๋Š” ์ง€์‹์ด ๊ฑฐ์˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์นดํ”„์นด์˜ ๊ธฐ๋ณธ ์ง€์‹์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ถ๊ธˆํ•˜์‹  ์‚ฌํ•ญ์ด๋‚˜ ์ž˜๋ชป ๊ธฐ์—…๋œ ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์„ธ์š”. Kafka MSA(Micro Service Architecture)๋กœ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ตฌ์„ฑ๋จ์— ๋”ฐ๋ผ ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋“ค์ด ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ณต์žกํ•ด ์กŒ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ๋ฐฐํฌ์— ์–ด๋ ค์›€์„ ๊ฒช๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Apache Kafaka๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Linked In์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค์ž…๋‹ˆ๋‹ค. Kafka๋Š” ์•„๋ž˜์˜ ..

CS 2022.08.25

[Java] ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface) ์•Œ์•„๋ณด๊ธฐ

์š”์ฆ˜ ํ”„๋กœ๊ทธ๋žจ์„ ์งค ๋•Œ Stream API๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Stream์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ Class Type๋“ค์ด ๋„ˆ๋ฌด ๋‚ฏ์„ค๋”๊ตฐ์š”. Stream์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  lambda๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๊ณ  lambda๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค(Functional Interface)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰์„ ํ•ด ๋ณด๋‹ˆ Stream, lambda ๊ทธ๋ฆฌ๊ณ  Functional Interface ์„ธ๊ฐ€์ง€๋ฅผ ํ™œ์šฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ Functional programming์ด๋ผ๊ณ  ํ•˜๋”๊ตฐ์š”. ๋‹ค์Œ์—๋Š” Functional programming์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์— ์ •๋ฆฌํ•œ ์ฝ”๋“œ๋“ค์€ ๋ชจ๋‘ gitHub์— ์˜ฌ๋ ค ๋†“์•˜์Šต๋‹ˆ๋‹ค. ํ•„์š”..

Languages/java 2022.08.04

[RegEx] ์ •๊ทœ์‹ ์‚ฌ์šฉํ•˜๊ธฐ(vsCode)

vsCode๋ฅผ ํ™œ์šฉํ•œ ์ •๊ทœ์‹ ์‚ฌ์šฉ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•จ์— ์žˆ์–ด ๊ธฐ์กด์˜ ์ฝ”๋“œ๋“ค์„ ํ˜•ํƒœ๋Š” ๋น„์Šทํ•˜์ง€๋งŒ ์กฐ๊ธˆ ์ˆ˜์ •ํ•ด์•ผํ•  ์ผ์ด ์ข…์ข… ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๋•Œ ํ•˜๋‚˜์”ฉ ์ˆ˜์ •์„ ํ•˜๋‹ค ๋ณด๋ฉด ํšŒ์˜๊ฐ์ด ๊ฐ•ํ•˜๊ฒŒ ๋“ค๋”๊ตฐ์š”. ์ด๋•Œ ์ œ ์„ ์ž„๋ถ„ ์ค‘ ํ•œ๋ถ„์ด terminal์—์„œ์˜ sed ์‚ฌ์šฉ๊ณผ vsCode์—์„œ์˜ regularExpression์„ ์‚ฌ์šฉํ•˜์—ฌ ์†์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ™์„ ์•Œ๋ ค ์ฃผ์…จ์Šต๋‹ˆ๋‹ค. sed๋Š” ์ถ”ํ›„์— ๋”ฐ๋กœ ๋‹ค๋ค„๋ณด๊ณ  ์ด๋ฒˆ์—๋Š” vsCode๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ œ๊ฐ€ ์‹ค์ œ ์‚ฌ์šฉํ–ˆ๋˜ ๋ฐฉ๋ฒ•๋“ค์„ ์ž‘์„ฑํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ •๊ทœ์‹(Regular Expression) ์ •๊ทœ ํ‘œํ˜„์‹(ๆญฃ่ฆ่กจ็พๅผ, ์˜์–ด: regular expression, ๊ฐ„๋‹จํžˆ regexp[1] ๋˜๋Š” regex, rational expression)[2][3] ๋˜๋Š” ์ •๊ทœ์‹(ๆญฃ่ฆๅผ)์€ ํŠน์ •ํ•œ ๊ทœ์น™์„..

Languages 2022.07.26

[Java] Lombok์˜ @ToString(๋ถ€๋ชจ์˜ toString() ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๊ธฐ)

์ด๋ฒˆ์—๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์ค‘์— ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์ž์ฃผ ์žŠ์–ด๋จน๋Š” ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ธ lombok์˜ @ToString()์— ๋Œ€ํ•ด์„œ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์— ๋ถ„๋ช… ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ @Override๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋„ค์š”. ๊ทธ๋Ÿผ ์•„๋ž˜์— ์ž‘์„ฑํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. code @Data public class ParentDTO { private String i; private String am; private String your; private String papa; } @Data public class ChildDTO extends ParentDTO { private String scream; } @Data public class LombokClientDTO { private ParentD..

Languages/java 2022.07.06

[Java] Enum๋ณ€์ˆ˜๋ฅผ json์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ Enum ๊ฐ’ ์ „๋‹ฌํ•˜๊ธฐ

ํšŒ์‚ฌ์—์„œ ๊ทผ๋ฌดํ•˜๋˜ ์ค‘ DTO๋ฅผ json์œผ๋กœ ๋ณ€ํ™˜ํ•ด ๋„˜๊ฒจ์ฃผ๋Š” ์ž‘์—…์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ๊ฐ’์„ ๋„˜๊ธฐ๋Š” ๋„์ค‘ ๋ฐœ์ƒํ•˜์˜€๋Š”๋ฐ ํ™•์ธํ•ด ๋ณด๋‹ˆ enum์˜ ๊ฐ’์ด ์ œ๋Œ€๋กœ ๋„˜์–ด๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๋ฐœ๋‹จ DTO ๋‚ด๋ถ€์— Enum ๋ณ€์ˆ˜๋ฅผ ๋“ค๊ณ  ์žˆ๋Š” ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค. Enum๋ณ€์ˆ˜์— enum์„ ์ „๋‹ฌ ํ•œ ํ›„ json์œผ๋กœ ๋ณ€ํ™˜ ํ•˜์˜€์„ ๋•Œ enum์˜ ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ name์ด ์ถœ๋ ฅ๋˜๋Š” ํ˜„์ƒ์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. DTO package com.example.dailyProgramming.enum_test; import lombok.Data; @Data public class Enum_getTest { String str; TestEnum1 enumTest; public enum TestEnum1{ AA(..

Languages/java 2022.06.30

[pattern] Command pattern

๋””์ž์ธํŒจํ„ด ์Šคํ„ฐ๋””์˜ ๋งˆ์ง€๋ง‰์ธ Command pattern ์ž…๋‹ˆ๋‹ค. ์ด 5๋ถ„ ์ค‘ ๋ฌด๋ ค 3๋ถ„์ด (์ € ํฌํ•จใ…Žใ…Ž) ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ–ˆ๋‹ค๋Š”(์—ˆ๋‹ค)๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๊ตฌ๋…ํ•˜๊ณ  gitHub๋„ follow๋ฅผ ํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์Šคํ„ฐ๋””๋กœ ๋””์ž์ธํŒจํ„ด์˜ ๋งŽ์€ ๋ถ€๋ถ„์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด ์•„์ฃผ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ Factory pattern์„ ๋ณด๋Š”๋ฐ ์ •๋ง ํ•˜๋‚˜๋„ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•˜์—ˆ๊ฑฐ๋“ ์š”. ์ง€๊ธˆ์€ ๊ทธ๋ž˜๋„ ์–ด๋Š์ •๋„ pattern์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋ฐ›์•„ ๋“ค์ผ ์ค€๋น„ ์ •๋„๋Š” ๋œ ๋“ฏ ํ•ด์„œ ๋งŽ์ด ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ๊ณ„์†ํ•ด์„œ ๋‹ค์–‘ํ•œ ์Šคํ„ฐ๋””๋ฅผ ํ†ตํ•ด ์ข€ ๋” ๋ฐœ์ „ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ถ„๋“ค์„ ๋งŒ๋‚˜ ๊ฒฝํ—˜๋“ค์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค Command ํŒจํ„ด ์ปค๋งจ๋“œ ํŒจํ„ด์€ ํŠน์ • ๊ธฐ๋Šฅ๋“ค์„ ์บก์Šํ™” ์‹œํ‚ค๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•œ..

CS 2022.06.25

[Java] Exception(checked, Unchecked Exception)

ํ˜„์žฌ ๊ฐœ๋ฐœ์ค‘์ธ ํ”„๋กœ์ ํŠธ์—์„œ Exception ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ error๋ฅผ ๋‹ค๋ฃจ๋‹ค Exception ๊ด€๋ จํ•ด์„œ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ง€๊ธˆ์œผ๋กœ๋ถ€ํ„ฐ 1๋…„ ์ „, ๊ตญ๋น„์ˆ˜์—…์„ ์ •๋ฆฌํ–ˆ๋˜ ๊ธ€ ์ค‘ Exception์„ ๋‹ค๋ฃฌ ๊ธ€์ด ์žˆ๋”๊ตฐ์š”. ๋งํฌ ์˜ˆ์ „์— ํ•œ๋ฒˆ ์ •๋ฆฌํ–ˆ๋˜ ๋‚ด์šฉ์ธ๋ฐ ์–ด๋Š๋ง ๋‹ค์‹œ ์žŠ์–ด๋จน๊ฒŒ ๋˜์–ด ํ•œ๋ฒˆ ๋” ์ •๋ฆฌ๋ฅผ ํ•ด ๋ด…๋‹ˆ๋‹ค. ์˜ˆ์™ธ(Exception) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ์˜ ์˜ˆ์™ธ(Exception)์€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๊ฐœ๋ฐœ์ž์˜ ์˜๋„์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ •์ƒ์ ์ธ ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„์„ ์–ด๊ธ‹๋‚˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž๋ฐ”์˜ ๊ฒฝ์šฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—๋Ÿฌ(Error)๋Š” ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์ƒํ•œ ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ์œผ๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.(์—๋Ÿฌ๋ฅผ ์ƒํ™ฉ์„ ์žก์•„๋„ ์ฒ˜๋ฆฌํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.) Exception์—๋Š” Ch..

Languages/java 2022.06.16
728x90
๋ฐ˜์‘ํ˜•