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

Lang/โ˜• Java

(19)
โ˜• Java * [log4j2] ๋กœ๊ทธ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ๋‚˜์˜จ๋‹ค.. log4jdbc.log4j2 ๋ญ‰ํƒฑ์ด๋กœ ๋‚˜์˜จ๋‹ค..! log4j2 ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ณ„๋‹ค๋ฅธ ์„ค์ •์„ ์•ˆ ํ–ˆ๋‹ค๋ฉด ์ •๋ง ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ๋กœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์•„๋‹ˆ๋‹ค ๋‚œ ์„ค์ •์„ ํ–ˆ๋‹ค! ๊ฐ class ๋ณ„๋กœ level ์„ ์„ค์ •ํ•ด์คฌ๋Š”์ง€ ์™œ ์ธ์ง€ ์•ˆ ๋จน๋Š”๋‹ค๋ฉด...? ์•„๋งˆ ์ง€๊ธˆ ๋‹น์‹ ์˜ ๋กœ๊ทธ๊ฐ€ jdbc.auit / jdbc.conenction ๋“ฑ๊ณผ ๊ฐ™์ด class ๊ฐ€ ๋ถ„๋ฆฌ ๋˜์–ด ๋‚˜์˜ค์ง€ ์•Š๊ณ  log4jdbc.log4j2 ๋กœ ๋‚˜์˜ค๊ณ  ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ์ด๋Ÿฐ ์‚ฌ๋žŒ๋“ค์€ ์•„๋ž˜ ๋‚ด์šฉ์„ ๋”ฐ๋ผํ•˜์ž. log4jdbc.log4j2.properties ํŒŒ์ผ์— ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator Tip. ์ฟผ๋ฆฌ๋ฌธ์ด ์ถœ๋ ฅ๋  ๋•Œ sql ๋ฌธ์ด ๊ธด ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ์ค„์— ๊ฑธ์ณ ํ‘œ์‹œ๋˜๋ฉด์„œ ๋กœ๊ทธ๊ฐ€ ์–ด์ง€๋Ÿฌ..
โ˜• Java * [Mybatis] Update ๋ฌธ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•˜๊ณ  ์‹ถ๋‹ค..!! ( feat. Oracle ) Insert ๋ฌธ์€ ๋ฉ€ํ‹ฐ๋กœ ๊ฐ€๋Šฅํ•˜๋ฉด์„œ ์™œ!! Update ๋Š” ์•ˆํ•ด์ฃผ๋Š”๊ฐ€!! ์‚ฌ์‹ค ์ง€๊ธˆ๊นŒ์ง€ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์กฐ๊ฑด์— ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ฐ’์„ ๋„ฃ์–ด์„œ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์—†์—ˆ๋‹ค. ์˜๋„์น˜ ์•Š๊ฒŒ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์กฐ๊ฑด์˜ ๊ฐ’์„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒผ์œผ๋‹ˆ,, ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. foreach ๋กœ ๋ฐ˜๋ณต์„ ํ•˜๋ฉด ๋˜๋Š”๋ฐ ์กฐ๊ฑด๋„ ๋งคํ•‘ํ•ด์ฃผ๋ฉด ๋˜๋Š”๋ฐ,, ๊ทธ๋ƒฅ ๊ฐ์‹ธ์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚  ์ˆ˜ ์žˆ๋‹ค. ORA-01795: maximum number of expressions in a list is 1000 ์—์ž‰..์ฏช! ์‹ค์ œ ์ถœ๋ ฅ๋˜๋Š” query ๋ฌธ๋„ ์ด๋ ‡๊ฒŒ ์‹คํ–‰ํ–ˆ๋‹ค๊ฐ„ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋˜๊ฒ ๊ตฐ! ํ•˜๋Š” ์—ฐ๊ฒฐ๋œ ์ฟผ๋ฆฌ๋ฅผ ์ถœ๋ ฅํ•ด์ค€๋‹ค. ๋ฉ€ํ‹ฐ ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ์˜ต์…˜(?) ์ด ๋ณ„๋„๋กœ ์กด์žฌํ•˜๊ณ  ์…‹ํŒ…ํ•˜๋ฉด ๋˜์ง€๋งŒ ๋‚˜์˜ ๊ฒฝ์šฐ๋Š”,, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹œ์— ์ตœ์ดˆ 1๋ฒˆ ์…‹ํŒ…์„ ์œ„..
โ˜• Java * StatusConsoleListener Error while converting string [false] to type [class org.apache.logging.log4j.Level]. Using default value [null] StatusConsoleListener Error while converting string [false] to type [class org.apache.logging.log4j.Level]. Using default value [null] ์™œ ๊ทธ๋Ÿฌ๋Š”๊ฑธ๊นŒ ๊ฐœ๋ฐœ์€ ํ•ญ์ƒ ์ƒˆ๋กœ์›€์˜ ์—ฐ์†.. log4j ์„ค์ •์„ ํ•ญ์ƒ .xml ํŒŒ์ผ๋กœ ํ•˜๋‹ค๊ฐ€ ์ด๋ฒˆ์— ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒจ .yml ํŒŒ์ผ๋กœ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ์ž๊พธ ์ด๋Ÿฐ ์š”์ƒํ•œ ์—๋Ÿฌ.. ์•„๋‹ˆ ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค..! ์Šค์Šค๋กœ ์ž˜ ์ฒ˜๋ฆฌํ•ด์„œ ์‹คํ–‰์ด ์•ˆ๋˜์ง„ ์•Š์•˜์œผ๋‚˜ ๋„ˆ๋ฌด ์‹ ๊ฒฝ์“ฐ์—ฌ์„œ ๐Ÿ˜ซ ์ˆ˜์ •ํ–ˆ๋‹ค...! ๋ฌธ์ œ(?)์˜ ์›์ธ์€ ๋ฐ”๋กœ .yml ํŒŒ์ผ์˜ boolean value ์ธ์‹์— ์žˆ์—ˆ๋‹ค. ๋กœ๊ทธ์—์„œ ๋ณด๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒƒ๋“ค์˜ level ์„ OFF ๋กœ ์„ค์ •ํ–ˆ๋Š”๋ฐ.. ์ด๊ฒŒ ๋ฌธ์ œ์˜€๋‹ค. - name: jdbc...
โ˜• Java * [Mybatis] foreach ๊ตฌ๋ฌธ์—์„œ List<Map<>> ์‚ฌ์šฉ๋ฒ• ํด๋ผ์ด์–ธํŠธ์—์„œ JSON ํ˜•์‹์œผ๋กœ ํ”ผ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋‚ ์•„์™”์„ ๋•Œ ๊ตฌ์„ฑ์ด List ํ˜•์‹์ธ ๊ฒฝ์šฐ ์ž๋ฐ”์—์„œ ์‚ฌ์šฉํ•˜๋“ฏ์ด ๊ตฌ์„ฑ์„ ํ•˜๋ฉด ๋œ๋‹ค. ํ˜น์‹œ๋‚˜ ์‹ถ์–ด ํด๋ผ์ด์–ธํŠธ์—์„œ ๋„˜๊ฒจ์ฃผ๋Š” JSON ๊ณผ ์„œ๋ฒ„์˜ Controller ๋ถ€๋ถ„๋„ ํ•จ๊ป˜ ์ž‘์„ฑํ•ด ๋†“์•˜๋‹ค! ํ•ด๋‹น ๋ถ€๋ถ„์ด ํ•„์š” ์—†๋Š” ์‚ฌ๋žŒ์€ 3๋ฒˆ XML์—์„œ! ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ•˜์ž! ํ•ด๋ณด์ž 1. JSON ๊ตฌ์„ฑ๋ฐฉ๋ฒ• "body": { "list": [ { "ํ•ญ๋ชฉ": "๊ฐ’" } ] } 2. Controller ์—์„œ ๋ฐ›์„ ๋•Œ Map reqBody = (Map) ~~~~ ๋”๋ณด๊ธฐ XML์€ ์•„๋ž˜ ๊ทธ๋Œ€๋กœ ์ง„ํ–‰ํ•˜๊ณ  JSON ๊ณผ Controller ๋ถ€๋ถ„๋งŒ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 1. JSON "body": [ { "ํ•ญ๋ชฉ": "๊ฐ’" } ] 2. Controller List reqBody = (List) ~~~~ 3. X..
โœ… solved * Java version ERROR ( feat. Intelli J ) ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋ญ๋กœ ํ•ด์•ผ ํ•  ๊นŒ ํ•œ์ฐธ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€... ๊ทธ๋ƒฅ Java version ๊ด€๋ จ ๋‚ด์šฉ์ด๋ผ Java๋กœ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •.. Cause: com/android/tools/idea/gradle/run/OutputBuildAction has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 ์›์ธ์ด ๋ญ์•ผ ใ…  ์ž๋ฐ”๋ฒ„์ „์˜ ๋ฌธ์ œ๋‹ค. ์ข€ ๋” ์ž์„ธํžˆ ๋งํ•˜์ž๋ฉด ์ด ๊ฒฝ์šฐ๋Š” gradle์˜ ์ž๋ฐ”๋ฒ„์ „ ๋ฌธ์ œ์ด๋‹ค. ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ž˜ ๋ณด๋ฉด tools/idea/gradle/run ์ด๋ผ๊ณ  ๋˜์–ด ์žˆ๋Š” ..
โ˜• Java * IntelliJ - Oracle JDBC ์—ฐ๊ฒฐํ•˜๊ธฐ! ( at. windows ) Java์—์„œ DB๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” JDBC ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ์–ด์•ผํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. DBMS์— ๋”ฐ๋ผ DB๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฅด๊ธฐ์— JDBC๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค๋“ค๋งŒ ์ œ๊ณตํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๊ฐ DBMS์— ๋งž๊ฒŒ ๊ตฌํ˜„์ด ๋˜์–ด์žˆ๊ธฐ์— ์‚ฌ์šฉ์ž๋Š” ๊ฐ DBMS์— ๋งž๋Š” ๋“œ๋ผ์ด๋ฒ„๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค. ๋‚œ ๊ทธ์ค‘์—์„œ๋„ oracle์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— oracle์„ ์—ฐ๊ฒฐํ•ด๋ณด๊ฒ ๋‹ค. 1. Oracle JDBC ๋“œ๋ผ์ด๋ฒ„ ๋‹ค์šด๋กœ๋“œ ๐Ÿ‘‰๐Ÿป JDBC Drivers | Oracle ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ฒ„์ „ ์ •๋ณด๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ๋œจ๋Š”๋ฐ ๋ฒ„์ „๋ณ„๋กœ ์ง€์›ํ•˜๋Š” oracle, JDK ๋ฒ„์ „์ด ๋‹ค๋ฅด๋‹ค! ๊ฐ ๋ฒ„์ „์„ ํด๋ฆญํ•ด ๋ณด๋ฉด ์ง€์›ํ•˜๋Š” oracle, JDK ์ข…๋ฅ˜๊ฐ€ ๋œจ๋‹ˆ ํ™•์ธํ•˜๊ณ  ์„ค์น˜ํ•˜์ž. ๐Ÿ‘‰๐Ÿป ์„ค์น˜ ๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  JDK ๋ฒ„์ „ ํ™•์ธ windows..
โ˜• Java ํ™˜๊ฒฝ๊ตฌ์„ฑ * JDK, JRE ์„ค์น˜ ๋ฐ ํ™•์ธํ•˜๊ธฐ for MacOS ์•ž์ „์—๋Š” window์—์„œ ํ™˜๊ฒฝ๊ตฌ์„ฑ์„ ํ•ด ๋ณด์•˜๋‹ค. ์˜ค๋Š˜์€ MacOS์—์„œ ํ•ด๋ณด์ž! ํ˜น์‹œ๋‚˜ ์„ค์น˜ ์ „ ์ง€๊ธˆ ๋ญ˜ ์„ค์น˜ํ•˜๋Š” ๊ฑฐ์ง€? ํ•œ๋‹ค๋ฉด ๋‹ค์Œ ํฌ์ŠคํŒ…์„ ํ•œ ๋ฒˆ ์ฝ๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. โ—‡ 2021/01/20 - [SW/โ˜• Java] - ๋„์ ๋„์  * Compiler, JVM, JDK, JRE 1. ๋‚˜๋Š” ์ž๋ฐ”๋ฅผ ์„ค์น˜ํ•œ ์ ์ด ์—†๋‹ค. 2. ์ตœ์‹ ๋ฒ„์ „์„ ์„ค์น˜ํ•  ๊ฒƒ์ด๋‹ค. ์œ„ ๋‘๊ฐ€์ง€ ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๋Š” ์‚ฌ๋žŒ์€ ํ„ฐ๋ฏธ๋„ ์ฐฝ์„ ์—ด์–ด java -version ๋ช…๋ น์–ด๋งŒ ์ž…๋ ฅํ•˜๋ฉด "๋ช…๋ น์–ด๋ฅผ ์œ„ํ•ด์„œ๋Š” JDK ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค" ๋ผ๋Š” ๋ฌธ๊ตฌ์™€ ํ•จ๊ป˜ ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€๋กœ ๋ฐ”๋กœ ์ด๋™ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒ์—…์ฐฝ์„ ๋„์›Œ์ค€๋‹ค. ํ•˜์ง€๋งŒ ๋‚˜๋Š” ๋ฒ„์ „ 8์„ ์„ค์น˜ ํ•  ๊ฒƒ ์ด๊ธฐ ๋•Œ๋ฌธ์— google์‹ ๊ป˜ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฐพ์•„๊ฐ„๋‹ค. ๋‹ค์šด๋กœ๋“œ ๋ชฉ๋ก์—์„œ MacOS์— ํ•ด๋‹นํ•˜๋Š” ์„ค์น˜ํ•˜๋ฉด dmg๊ฐ€..
โ˜• Java * ๋ฐ˜๋ณต๋ฌธ ( for, for-each, while, do-while ) ์‚ฌ์‹ค ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด์˜ ๋ฐ˜๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์€ ๋‹ค ๋น„์Šทํ•˜๋‹ค. if, while, for ๋ณดํ†ต ์ด ์„ธ๊ฐ€์ง€ ์นœ๊ตฌ๋ฅผ ํ•„๋‘๋กœ else if, do while, for each, switch ๋ญ ์ด๋ ‡๊ฒŒ ๋” ๋‚ด์šฉ์ด ์žˆ๋‹ค. ์“ฐ๋Š” ๋ฐฉ๋ฒ•๋„ ๋น„์Šทํ•˜์ง€๋งŒ ์–ธ์–ด์— ๋”ฐ๋ผ ์กฐ๊ธˆ์”ฉ ๋ชจ์–‘์ด ๋‹ค๋ฅธ ๋ถ€๋ถ„๋„ ์žˆ์œผ๋‹ˆ Java language์—์„œ ๋ฐ˜๋ณต๋ฌธ์„ ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€ ์•Œ์•„๋ณด์ž. ๐Ÿ“Œ ๋ฐ˜๋ณต๋ฌธ ์ž๋ฐ”์—์„œ๋Š” for, for each, while, do while์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค. for ์•ž์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ดˆ๊ธฐ๊ฐ’์€ ์ƒ๋žต๊ฐ€๋Šฅํ•˜๋‹ค. ex) for ( ; ์กฐ๊ฑด๋ฌธ; ์—ฐ์‚ฐ์‹) ์กฐ๊ฑด๋ฌธ์„ ๋งŒ์กฑํ•˜๋Š” ๋™์•ˆ for body๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค. ํ•œ๋ฒˆ ์‹คํ–‰ ํ›„ ์—ฐ์‚ฐ์‹์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์‹์„ ์‹คํ–‰ํ•œ ๋’ค ์กฐ๊ฑด๋ฌธ์„ ๋น„๊ตํ•œ๋‹ค. ์—ฐ์‚ฐํ•  ๊ฒƒ์ด ์—†๋‹ค๋ฉด ์—ฐ์‚ฐ์‹๋„ ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๊ธด..
โ˜• Java * ์กฐ๊ฑด๋ฌธ ( if, else-if, switch ) feat. ์‚ผํ•ญ์—ฐ์‚ฐ์ž ์‚ฌ์‹ค ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด์˜ ๋ฐ˜๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์€ ๋‹ค ๋น„์Šทํ•˜๋‹ค. if, while, for ๋ณดํ†ต ์ด ์„ธ๊ฐ€์ง€ ์นœ๊ตฌ๋ฅผ ํ•„๋‘๋กœ else if, do while, for each, switch ๋ญ ์ด๋ ‡๊ฒŒ ๋” ๋‚ด์šฉ์ด ์žˆ๋‹ค. ์“ฐ๋Š” ๋ฐฉ๋ฒ•๋„ ๋น„์Šทํ•˜์ง€๋งŒ ์–ธ์–ด์— ๋”ฐ๋ผ ์กฐ๊ธˆ์”ฉ ๋ชจ์–‘์ด ๋‹ค๋ฅธ ๋ถ€๋ถ„๋„ ์žˆ์œผ๋‹ˆ ์ผ๋‹จ Java language์—์„œ ์กฐ๊ฑด๋ฌธ์„ ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€ ์•Œ์•„๋ณด์ž. ๐Ÿ“Œ ์กฐ๊ฑด๋ฌธ ์ž๋ฐ”์—์„œ๋Š” if, else if, switch๋ฅผ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. If ์™€ else if ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ด๋ฉด if ๋ฌธ์˜ body๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ฑฐ์ง“์ด๋ฉด ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. else if ํ˜•์‹์œผ๋กœ if ๋ฌธ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ฒฝ์šฐ ์—ฐ๊ฒฐ ๋œ ์กฐ๊ฑด๋ฌธ ์ค‘์—์„œ ์•ž์˜ ์กฐ๊ฑด๋ฌธ์ด ์‹คํ–‰ ๋˜๋ฉด ์—ฐ๊ฒฐ ๋œ ๋’ค์˜ ์กฐ๊ฑด๋ฌธ๋“ค์€ ์‹คํ–‰ ๋˜์ง€ ์•Š๋Š”๋‹ค. p..
โ˜• Java * CMD์—์„œ ์ž๋ฐ” ํŒจํ‚ค์ง€ ์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰ ๋งจ๋‚  vscode์—์„œ ์‹คํ–‰์‹œํ‚ค๋‹ค๊ฐ€ ๋ฌธ๋œฉ cmd์—์„œ ์‹คํ–‰์‹œํ‚ค๊ณ  ์‹ถ์–ด์กŒ๋‹ค. ์ปดํŒŒ์ผ ํ•˜๋Š” ๋ฐฉ๋ฒ• > javac -d ํŒจํ‚ค์ง€_ํด๋”_์ง์ „๊ฒฝ๋กœ ํŒจํ‚ค์ง€_ํด๋”๋ช…/*.java ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋ณดํ†ต ํŒจํ‚ค์ง€๊ฐ€ ์žˆ๋Š” ํด๋”์—์„œ cmd๋ฅผ ์—ด๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ง€์นญํ•˜๋Š” . ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•œ๊ธ€์„ ์‚ฌ์šฉํ–ˆ๊ธฐ์— -encoding UTF-8 ์˜ต์…˜์„ ๋ถ™์—ฌ์ฃผ์—ˆ๋‹ค. ์‹คํ–‰ ํ•˜๋Š” ๋ฐฉ๋ฒ• > java -cp ํŒจํ‚ค์ง€_ํด๋”_์ง์ „๊ฒฝ๋กœ ํŒจํ‚ค์ง€๋ช….ํด๋ž˜์Šค ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด ์œ„ ๋‚ด์šฉ์„ ์ง€์šฐ์ง€ ์•Š๊ณ  ์บก์ณํ–ˆ๋‹ค. โญ ์ฃผ์˜ ํ•  ์  ํŒจํ‚ค์ง€ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด, ํŒจํ‚ค์ง€ ์ƒ์œ„์˜ ๋ชจ๋“  ๊ฒฝ๋กœ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ. ํด๋ž˜์Šค๋ช…์€ ๋ฐ˜๋“œ์‹œ ๋Œ€/์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ณ„ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ. Thanks for ๐Ÿ™ˆ ์ž๋ฐ” ํŒจํ‚ค์ง€ ์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰, NoClass..
โ˜• Java * Utility classes should not have public constructors (java:S1118) static์œผ๋กœ ๊ตฌ์„ฑ ๋œ ํด๋ž˜์Šค๋ฅผ ๋ฐฐ์› ๋‹ค. ์‹ค์Šตํ•ด๋ณด๋˜ ์ค‘ ์•ˆ๋‚ด๋ฌธ๊ตฌ๊ฐ€ ๋–ณ๋‹ค. Utility classes should not have public constructors (java:S1118) Utility classes, which are collections of static members, are not meant to be instantiated. Even abstract utility classes, which can be extended, should not have public constructors. Java adds an implicit public constructor to every class which does not define at least one explicitly. Hence..
โ˜• Java * ๋ณ€์ˆ˜, ์‹๋ณ„์ž, ์ƒ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž ๐Ÿ“Œ ๋ณ€์ˆ˜๋ž€? ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ ๊ฐ’๋“ค์ด ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„๋‘๋Š” ์ƒ์ž์™€ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ๊ณต๊ฐ„์— ์ด๋ฆ„์„ ๋ถ™์ด๊ฒŒ ๋˜๋ฉฐ ์ด๋ฅผ ๋ณ€์ˆ˜๋ช…์ด๋ผ๊ณ  ์ง€์นญํ•œ๋‹ค. ๋ณ€์ˆ˜์˜ ์ด๋ฆ„ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์€ ์‹๋ณ„์ž(identifier)์˜ ์ผ์ข…์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค. ์‹๋ณ„์ž๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์™€ ์ˆซ์ž์˜ ์กฐํ•ฉ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค. ํ•œ๊ธ€๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ์น˜๋งŒ ์ ˆ๋Œ€๋กœ ํ•œ๊ธ€๋กœ ํ•˜์ง€๋งˆ๋ผ! ํ˜‘์—…์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์ธ์ฝ”๋”ฉ ๋ฌธ์ œ๋กœ ๊ดด๋กœ์šธ ๊ฒƒ์ด๋‹ค. ์‹๋ณ„์ž์˜ ์ฒซ ๋ฌธ์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ฌ์•ผ ํ•œ๋‹ค. ์ฒซ ๋ฌธ์ž๊ฐ€ _ ๋‚˜ %๋กœ ์‹œ์ž‘๋  ์ˆ˜๋„ ์žˆ์œผ๋‚˜ ์ด๋Š” ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๋กœ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋‘ ๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ๋Š” ๋ฌธ์ž, ์ˆซ์ž, _ ๋‚˜ $๋“ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋Š” ๊ตฌ๋ณ„๋œ๋‹ค. ์‹๋ณ„์ž์˜ ์ด๋ฆ„์œผ๋กœ ํ‚ค์›Œ๋“œ(keyword)๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ..