๐Ÿ’ฌ Language/Java

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋˜ ์ค‘ SonarLint์—์„œ ์œ„์™€ ๊ฐ™์€ ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋ฅผ ์ œ์‹œํ–ˆ๋‹ค. Sonar Cloud์—์„œ ๋งํ•˜๊ณ ์žˆ๋Š” ์ด์œ ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ค๋ช…์ด ํฌํ•จ๋˜์–ด์žˆ๋‹ค. "This rule raises an issue on a non-transient and non-serializable field within a serializable class, if said class does not have writeObject and readObject methods defined." "์ด ๊ทœ์น™์€ ์ง๋ ฌํ™” ๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค ๋‚ด์— ์ผ์‹œ์ ์ด์ง€ ์•Š๊ณ  ์ง๋ ฌํ™”ํ•  ์ˆ˜ ์—†๋Š” ํ•„๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ํด๋ž˜์Šค์— writeObject ๋ฐ readObject ๋ฉ”์„œ๋“œ๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ต๋‹ˆ๋‹ค." ํ•œ๋งˆ๋””๋กœ ์ง๋ ฌํ™” ๋Œ€์ƒ์ธ ํด๋ž˜์Šค ๋‚ด๋ถ€์— ..
Gson gson = new Gson(); HashMap jsonObject = gson.fromJson(input.toString(), new TypeToken(){}.getType()); result.add(jsonObject); ์œ„์™€๊ฐ™์ด ์ž‘์„ฑํ•˜์˜€์„ ๋•Œ com.google.gson.stream.MalformedJsonException์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ์ค‘ ํŠน์ˆ˜๋ฌธ์ž ใŽ– ๋ฐ ๊ณต๋ฐฑ์œผ๋กœ ์ธํ•ด ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ Gson์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ•œ๊ธ€, ์˜์–ด, ์ผ๋ถ€ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ๋ณ€ํ™˜์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. public String replaceStr(String str) { String tempStr = str.replace("ใŽ–", "ml"); // ํ•œ๊ธ€, ์˜์–ด, ์ผ๋ถ€ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๋ฌธ์ž..
ํ”„๋กœ์ ํŠธ ๋ถ„์„ ์ค‘ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฌธ๊ตฌ๋ฅผ ๋ณด๊ณ  ์•Œ์•„๋ณด๊ณ ์‹ถ์–ด ํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์˜ˆ์™ธ์ฒ˜๋ฆฌ (Exception Handling)์€ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ์ž…๋ ฅ / ์—ฐ์„  / ๋กœ์ง ์ˆ˜ํ–‰ ์ด๋‚˜ ํ•˜๋“œ์›จ์–ด ํ˜น์€ ๋„คํŠธ์›Œํฌ์˜ ์˜ค์ž‘๋™ ๋“ฑ ์—ฌ๋Ÿฌ ์›์ธ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ๋‹ค. Java์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๊ฐ€ ๊ตฌํ˜„๋˜์–ด์žˆ๋‹ค. Throwable Throwable ํด๋ž˜์Šค๋Š” ๋ชจ๋“  ์˜ˆ์™ธ ํด๋ž˜์Šค๋“ค์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณตํ†ต๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค. Exception์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€ ์ข…๋ฅ˜๋กœ ๋‚˜๋‰œ๋‹ค. Checked Exception - ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์ˆ˜์ด๋ฉฐ, ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ปดํŒŒ์ผ์ด ์•ˆ๋จ. - JVM ์™ธ๋ถ€์™€ ํ†ต์‹ (๋„คํŠธ์›Œํฌ, ํŒŒ์ผ์‹œ์Šคํ…œ ๋“ฑ)ํ•  ๋•Œ ์ฃผ๋กœ ์“ด๋‹ค. - ์œ„ ๋ชฉ๋ก ์ค‘ RuntimeException์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ Exception๋“ค์ด ์ด์— ํ•ด๋‹นํ•œ๋‹ค. ..
1. ์Šค๋ ˆ๋“œ(Thread)๋ž€? - ์–ด๋–ค ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„(์ž‘์—…)์˜ ๋‹จ์œ„๋‹ค. - ํ”„๋กœ์„ธ์Šค ๋‚ด ๋ช…๋ น์–ด ๋ธ”๋ก์œผ๋กœ ์‹œ์ž‘, ์ข…๋ฃŒ์ ์„ ๊ฐ€์ง„๋‹ค. JVM์— ์˜ํ•ด ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  main ๋‚ด๋ถ€์˜ ์‹คํ–‰๋ฌธ์ด ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋‹ค. main() ์ด์™ธ์— ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด Thread ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๊ฑฐ๋‚˜ Runnalble ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ์ž‘์—… ์‹œ ๊ฐ ์Šค๋ ˆ๋“œ๋ผ๋ฆฌ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด ์ฒ˜๋ฆฌ ๊ณผ์ •์˜ ์˜ค๋ฅ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ๋Š” ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค. 2. ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์ด๋ž€? ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋ฅผ ๋™์‹œ์— ์‹คํ–‰์‹œํ‚ค๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ์žฅ์  ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ ๋กœ ์ธํ•œ ์‹œ์Šคํ…œ ์ž์› ์†Œ๋ชจ๊ฐ€ ์ค„์–ด๋“ ๋‹ค. ๋™์‹œ์— ๋‘ ๊ฐ€์ง€ ํ™œ๋™์„ ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. ๋‹จ์  ์„œ๋กœ ์ž์›์„ ์†Œ๋ชจํ•˜๋‹ค๊ฐ€ ์ถฉ๋Œ์ด ์ผ์–ด..
Overloading : ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅด๊ฒŒํ•˜์—ฌ ์˜์—ญ์„ ํ™•์žฅํ•œ๋‹ค. public class Parent { public Parent() { } public Parent(String name) { System.out.println(name); } public Parent(String name, int age) { System.out.println(name + "์˜ ๋‚˜์ด๋Š” " + age + "์‚ด ์ž…๋‹ˆ๋‹ค."); } } Overriding : ๋ถ€๋ชจ ํด๋ž˜์Šค์—์„œ ๋งŒ๋“  ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฎ์–ด์”Œ์šด๋‹ค. ๋”ฐ๋ผ์„œ ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋™์ผํ•ด์•ผํ•œ๋‹ค. public class Parent { public Parent() { } public void printName() { System.out.println("Parent - ..
์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ์‚ฌ์šฉ, ๊ตฌํ˜„์— ๊ธ‰๊ธ‰ํ•ด์„œ MVCํŒจํ„ด๊ณผ ๊ฐ™์€ ๊ธฐ๋ฒ•์„ ์ ์šฉ์‹œํ‚ค์ง€ ์•Š๊ณ , class๋„ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์•„ ๋งŽ์ด ๋ณต์žกํ•œ ์ฝ”๋“œ๋กœ ๋ณด์ธ๋‹ค. ์ดํ›„๋กœ๋Š” ๋…์„œ๋ฅผ ํ†ตํ•ด ๋‹ค์‹œ Java์— ๋Œ€ํ•œ ์ง€์‹์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์žก์•„์•ผ๊ฒ ๋‹ค. Main.java package calculator; public class Main { public static void main(String[] args) { CalculatorFrame mainFrame = new CalculatorFrame(); } } CalculatorFrame.java package calculator; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.StringTokeniz..
_์ฃผ๋…ธ
'๐Ÿ’ฌ Language/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก