๋ฐ์ํ ๊ฐ๋ฐ/JAVA24 [JAVA] Error, Checked Exception, Unchecked Exception ๋น๊ต ์๋ฐ์์๋ ์์ธ๋ฅผ ํฌ๊ฒ Error์ Exception์ผ๋ก ๊ตฌ๋ถํ๊ณ , Exception์ RuntimeException ์์ ์ฌ๋ถ์ ๋ฐ๋ผ Checked Exception, Unchecked Exception์ผ๋ก ๊ตฌ๋ถ๋๋ค. Error ์์คํ ์ ๋น์ ์์ ์ธ ์ํฉ์ด ๋ฐ์ํ ๊ฒฝ์ฐ๋ก ์์คํ ๋ ๋ฒจ์์ ๋ฐ์ํ๋ ์ฌ๊ฐํ ์์ค์ ์ค๋ฅ๋ฅผ ์๋ฏธํ๋ฉฐ, ๊ฐ๋ฐ์๊ฐ ์์ธกํ ์ ์๊ธฐ์ ๋ฏธ๋ฆฌ Handlingํ ์ ์๋ค. Exception ๊ฐ๋ฐ์๊ฐ ๊ตฌํํ ๋ก์ง์์ ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๊ฐ๋ฐ์๊ฐ ๋ฏธ๋ฆฌ ์์ธกํ์ฌ ๋ฐฉ์งํ ์ ์์ด์ ์ํฉ์ ๋ง๊ฒ Handling ํด์ผํ๋ค. ์๋๋ Checked Exception๊ณผ Unchecked Exception์ ๋น๊ตํ ํ์ด๋ค. Checked Exception Unchecked Exception ๋ก์ง์์ ์์ธ์ฒ๋ฆฌ ์ฌ.. 2022. 1. 12. [JAVA] ์์ฑ์ ๋์ ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ ์ด์ ! ๋จผ์ ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๊ฐ ๋ญ์ง ์ ๋ชจ๋ฅด๊ฒ ์ผ๋ฉด ์๋ ํฌ์คํ ์ ๋ณด๊ณ ์ค์! [Java] ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋? (static factory method) ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋ ์ ์ (static), ํฉํ ๋ฆฌ(factory), ๋ฉ์๋(method) GoF๋ผ๋ ๋์์ธ ํจํด ์ค ํฉํ ๋ฆฌ ํจํด์์ ์ ๋ํ ๋จ์ด๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ญํ ์ ๋ถ๋ฆฌํ๊ฒ ๋ค๋ ๊ฒ์ ๋งํ๋ค. (ํ์ง๋ง ์ ์ ํฉํ ๋ฆฌ ๋ฉ ynzu-dev.tistory.com 1. ์ด๋ฆ์ ๊ฐ์ง ์ ์๋ค. BigInteger ํด๋์ค๋ฅผ ์๋ฅผ ๋ค์ด ๋ณด๋ฉด ์์ฑ์์ธ BigInteger(int, int, Random)๊ณผ ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋์ธ probablePrime(int, Random) ์ค ํ์๊ฐ ๋ฉ์๋ ๋ช ๋๋ถ์ '๊ฐ์ด ์์์ธ BigInteger๋ฅผ ๋ฐํํ๋ค'๋ผ๋ ์๋ฏธ๋ฅผ ํ์ ํ๊ธฐ ์ฝ๋ค.. 2022. 1. 12. [JAVA] ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋? (static factory method) ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋ ์ ์ (static), ํฉํ ๋ฆฌ(factory), ๋ฉ์๋(method) GoF๋ผ๋ ๋์์ธ ํจํด ์ค ํฉํ ๋ฆฌ ํจํด์์ ์ ๋ํ ๋จ์ด๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ญํ ์ ๋ถ๋ฆฌํ๊ฒ ๋ค๋ ๊ฒ์ ๋งํ๋ค. (ํ์ง๋ง ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋์ ํฉํ ๋ฆฌ ํจํด์ ๋ช ํํ๊ฒ ๋ค๋ฅด๊ณ , ๋์์ธ ํจํด ์ค์ ์ด์ ์ผ์นํ๋ ํจํด์ด ์๋ค๊ณ ํ๋ค. ์ด ๋ถ๋ถ์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํด๋ด์ผ๊ฒ ๋ค..) ์ข ๋ ์ฝ๊ฒ ์ค๋ช ํ์๋ฉด ์์ฑ์๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๊ฒ ์๋๋ผ ๋ณ๋ ๋ฉ์๋๋ฅผ ์ ์ํด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋๋ก ๊ฐ์ฒด ๋ด์ ์ ์ ๋ฉ์๋๋ฅผ ์ ์ํด๋์ ๊ฒ! ์ ํํ ์ด๋ค ๋ฉ์๋๋ฅผ ์๊ธฐํ๋ ๊ฑด์ง ์์๋ฅผ ๋ค์ด๋ณด๊ฒ ๋ค. java.time ํจํค์ง์ ํฌํจ๋ LocalDateTime ํด๋์ค์ ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋ฅผ ์ดํด ๋ณด๋ฉด ์์ฑ์๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ of ๋ฉ์.. 2022. 1. 10. [JAVA] ๋ ์ง ๋น๊ต ํ๊ธฐ (Date, LocalDateTime, LocalDate) 1. java.util.Date์๋ ๋ ์ง๋ฅผ ๋น๊ตํ ์ ์๋ ๋ฉ์๋๊ฐ ๋๊ฐ์ง ์๋ค. after, before ์ฌ์ฉ - before: ์ธ์๋ณด๋ค ๊ณผ๊ฑฐ์ผ ๋ true - after: ์ธ์๋ณด๋ค ๋ฏธ๋์ผ ๋ true - equal: ์ธ์์ ๊ฐ์ ๋ true public void compareDate(Date date1, Date date2){ if(date1.after(date2)){ System.out.println("Date1 > Date2"); } if(date1.before(date2)){ System.out.println("Date1 < Date2"); } if(date1.equals(date2)){ System.out.println("Date1 = Date2"); } } compareTo ์ฌ์ฉ - comp.. 2021. 12. 21. [JAVA] VO๋ฅผ JSON ๋ฐ์ดํฐ๋ก ๋ณํ (java class to json, vo to json) ๋จผ์ ์๋ ํฌ์คํ ์ ๋ณด๊ณ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ์! [JAVA] JSON ๋ฐ์ดํฐ๋ฅผ VO๋ก ํ์ฑ, ๋ณํํ๋ ๋ฐฉ๋ฒ (json to java class) ๋จผ์ jackson-databind ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํด์ฃผ์ด์ผ ํ๋ค! spring boot์ ๊ฒฝ์ฐ 'spring-boot-starter-web'์ ํฌํจ๋์ด ์์ maven com.fasterxml.jackson.core jackson-databind 2.13.0 gradle // https://mvnrepos.. ynzu-dev.tistory.com vo ์์ public class TestVo { @JsonProperty("user-name") private String userName; @JsonProperty("user-id") private Stri.. 2021. 12. 9. [JAVA] JSON to VO : JSON์ key์ vo(java class)์ ๋ณ์๋ช ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ์ ํฌ์คํ ์์ json ๋ฐ์ดํฐ๋ฅผ vo๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์๊ณ , ์ด๋ฒ ํฌ์คํ ์์ json์ key์ vo์ ๋ณ์๋ช ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๊ฒ ๋ค. json์ key์ vo์ ์ ์ธ๋ ๋ณ์๋ช ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ๋ณํ์ key์ ์ด๋ฆ์ ๋ณ๊ฒฝํ์ฌ ํ์ฑํ๋ ค๋ฉด @JsonProperty์ ์ฌ์ฉํ๋ฉด ๋๋ค. json data ์์ {"user-name":"name01", "user-id":"id01"} vo ์์ public class TestVo { @JsonProperty("user-name") private String userName; @JsonProperty("user-id") private String userId; } ์ด๋ ๊ฒ vo์ ๋ณ์๋ช ์ JsonProperty ์ด๋ ธํ ์ด์ ๊ณผ ํจ๊ป ๋งคํํ json d.. 2021. 12. 9. [JAVA] JSON ๊ฐ์ฒด VO ๋ณํ ์๋ฌ : org.codehaus.jackson.map.exc.UnrecognizedPropertyException json ๋ฐ์ดํฐ๋ฅผ vo๋ก ๋ณํํ ๋ ํด๋น ํด๋์ค์ ์ ์ธ๋์ง ์์ ๋ณ์(ํ๋กํผํฐ)๊ฐ json์ ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. org.codehaus.jackson.map.exc.UnrecognizedPropertyException ํด๋น ํ๋กํผํฐ๋ฅผ ๋ฌด์ํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ @JsonIgnoreProperties(ignoreUnknown = true)๋ฅผ ์ ์ธํ๋ฉด ๋๋ค! @JsonIgnoreProperties(ignoreUnknown = true) public class TestVo { private String userName; private String userId; } json ๋ฐ์ดํฐ๊ฐ ์๋์ ๊ฐ์ด ๋ค์ด์๋ ์ด์ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. {"user-name":"name01", "user-id":"id01", "u.. 2021. 12. 9. [JAVA] JSON ๋ฐ์ดํฐ๋ฅผ VO๋ก ํ์ฑ, ๋ณํํ๋ ๋ฐฉ๋ฒ (json to java class) ๋จผ์ jackson-databind ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํด์ฃผ์ด์ผ ํ๋ค! spring boot์ ๊ฒฝ์ฐ 'spring-boot-starter-web'์ ํฌํจ๋์ด ์์ maven com.fasterxml.jackson.core jackson-databind 2.13.0 gradle // https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.13.0' ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ์ผ๋ฉด ์ด ๋์ค๋ก ์ฝ๊ฒ ํ์ฑ์ด ๊ฐ๋ฅํ๋ค! ObjectMapper mapper = new ObjectM.. 2021. 12. 9. ์ด์ 1 2 3 ๋ค์ 728x90 ๋ฐ์ํ