Java(25)
-
[Clean Code] 3. ν¨μ
π©π» 2μ₯. μλ―Έμλ μ΄λ¦ λ³΄κ³ , νμ¬ μ§ν μ€μΈ νλ‘μ νΈμ λν΄μ μ μ©νλ €κ³ λ³΄λλ°..μ.. λλ¦ λ³μλͺ μ΄λ λ©μλλͺ μ§μ λ μκ°νκ³ μ§μλ€κ³ μκ°νμλλ° κ°νμ΄λ€ γ γ μ΄λμλΆν° μ΄λ»κ² κ³ μ³μΌν μ§.. ^^;; μ‘°κΈμ© κ³ μ³κ°μ..! λΌλ λ§μΈλλ‘ λ΄μΌμ§.. κ·Έλ¦¬κ³ μμΌλ‘λ κΌ λ!!! μκ°νκ³ μ΄λ¦ μ§μ κ²μ΄λ€.. μ μμ ννμ€ γ 1. λ³μ(λ©μλ λλ ν΄λμ€) μ μ‘΄μ¬ μ΄μ λ ? 2. μν κΈ°λ₯μ ? 3. μ¬μ© λ°©λ²μ ? μ΅μν μ΄ 3κ°μ§ μ§λ¬Έμ νκ³ μ΄λ¦ μ§κΈ° ..!!! μ΄ κΈμ 보λ λΆ(?) λ€μ μ΄λ κ² νκ³ κ³μ κ°μ..? μ무νΌ.. μλ―Έ μλ μ΄λ¦ μ§κΈ°λ₯Ό κΈ°μ΅νλ©° 3μ₯ ν¨μμ λν΄μ μ€λμ 곡λΆν κ²μ΄λ€. μκ² λ§λ€μ΄λΌ p.42 ν¨μλ₯Ό λ§λλ 첫째 κ·μΉμ 'μκ²!' λ€. κ·Έλ¦¬κ³ λμ§Έ κ·μΉ..
2023.09.26 -
[Clean Code] 2. μλ―Έ μλ μ΄λ¦
μλλ₯Ό λΆλͺ ν λ°νλΌ p.22 μ’μ μ΄λ¦μ μ§μΌλ €λ©΄ μκ°μ΄ 걸리μ§λ§ μ’μ μ΄λ¦μΌλ‘ μ μ½νλ μκ°μ΄ ν¨μ¬ λ λ§λ€. κ·Έλ¬λ―λ‘ μ΄λ¦μ μ£ΌμκΉκ² μ¬ν΄ λ λμ μ΄λ¦μ΄ λ μ€λ₯΄λ©΄ κ°μ νκΈ° λ°λλ€. κ·Έλ¬λ©΄ (μμ μ ν¬ν¨ν΄) μ½λλ₯Ό μ½λ μ¬λμ΄ μ’ λ ν볡ν΄μ§λ¦¬λΌ. λ³μλ ν¨μ κ·Έλ¦¬κ³ ν΄λμ€ μ΄λ¦μ μ§μ λ μ§λ¬Έμ λͺ¨λ λ΅ ν μ μμ΄μΌ νλ€. 1. λ³μ(νΉμ λ©μλλ ν΄λμ€)μ μ‘΄μ¬ μ΄μ λ ? 2. μν κΈ°λ₯μ ? 3. μ¬μ© λ°©λ²μ ? μ£Όμμ΄ νμνλ€λ©΄ μλλ₯Ό λΆλͺ νκ² λλ¬λ΄μ§ λͺ»νλ€λ λ§μ΄λ€. π©π» μ§κΈκΉμ§ λ΄κ° μ§°λ μ½λμμ μ£ΌμμΌλ‘ μλ―Έλ₯Ό λλ¬λΈκ² μΌλ§λ λ§μκ°... μ§κΈ λΉμ₯ λ΄κ° μμ¦ μ§ν μ€μΈ νλ‘μ νΈμμ ν ν΄λμ€λ§ λ€μ΄κ°λ λ°λ‘ λ³΄μΌ κ²μ΄λ€... μ§κΈ λΉμ₯ κ·Έκ²λΆν° κ³ μΉλ κ²μΌλ‘ Clean Code..
2023.09.25 -
[JAVA] 15. String ν΄λμ€, StringBuffer, StringBuilder, Math ν΄λμ€, Wrapper ν΄λμ€, μ€ν λ°μ±&μΈλ°μ±, μ μ©ν ν΄λμ€
https://hyejin.tistory.com/575 [JAVA] 14. Object ν΄λμ€, String ν΄λμ€ 1οΈβ£ Object ν΄λμ€ Object ν΄λμ€λ λͺ¨λ ν΄λμ€μ μ΅κ³ μ‘°μμ΄κΈ° λλ¬Έμ Object ν΄λμ€μ λ©€λ²λ€μ λͺ¨λ ν΄λμ€μμ λ°λ‘ μ¬μ© κ°λ₯νλ€. protected Object clone() κ°μ²΄ μμ μ 볡μ¬λ³Έμ λ°ννλ€. public b hyejin.tistory.com - join() κ³Ό StringJoiner joinμ μ¬λ¬ λ¬Έμμ΄ μ¬μ΄μ ꡬλΆμλ₯Ό λ£μ΄μ κ²°ν©νλ€. (ꡬλΆμλ‘ λ¬Έμμ΄μ μλ₯΄λ splitκ³Ό λ°λλ‘ μκ°νλ©΄ λλ€.) - λ¬Έμ μΈμ½λ© λ³ν getBytes(String s) λ₯Ό μ¬μ©νλ©΄ λ¬Έμμ΄μ λ¬Έμ μΈμ½λ©μ λ€λ₯Έ μΈμ½λ©μΌλ‘ λ³κ²½ν μ μλ€. byte utf8_str =..
2022.05.06 -
[JAVA] 14. Object ν΄λμ€, String ν΄λμ€
1οΈβ£ Object ν΄λμ€ Object ν΄λμ€λ λͺ¨λ ν΄λμ€μ μ΅κ³ μ‘°μμ΄κΈ° λλ¬Έμ Object ν΄λμ€μ λ©€λ²λ€μ λͺ¨λ ν΄λμ€μμ λ°λ‘ μ¬μ© κ°λ₯νλ€. protected Object clone() κ°μ²΄ μμ μ 볡μ¬λ³Έμ λ°ννλ€. public boolean equals(Object obj) κ°μ²΄ μμ κ³Ό κ°μ²΄ objκ° κ°μ κ°μ²΄μΈμ§ μλ €μ€λ€. (κ°μΌλ©΄ true) protected void finalize() κ°μ²΄κ° μλ©Έλ λ κ°λΉμ§ 컬λ ν°μ μν΄ μλμ μΌλ‘ νΈμΆλλ€. μ΄λ μνλμ΄μΌνλ μ½λκ° μμ λ μ€λ²λΌμ΄λ©νλ€. public Class getClass() κ°μ²΄ μμ μ ν΄λμ€ μ 보λ₯Ό λ΄κ³ μλ Class μΈμ€ν΄μ€λ₯Ό λ°ννλ€. public int hashCode() κ°μ²΄ μμ μ ν΄μμ½λλ₯Ό λ°ννλ€. pub..
2022.05.03 -
[JAVA] 13. μμΈ λ°μ, finally, μ¬μ©μ μ μ μμΈ, μμΈ λλμ§κΈ°, μ°κ²°λ μμΈ
https://hyejin.tistory.com/573 [JAVA] 12. μμΈμ²λ¦¬ Exception handling 1οΈβ£ νλ‘κ·Έλ¨ μ€λ₯ νλ‘κ·Έλ¨μ΄ μ€ν μ€ μ΄λ€ μμΈμ μν΄μ μ€μλμ νκ±°λ λΉμ μμ μΌλ‘ μ’ λ£λλ κ²½μ°κ° μλλ° μ΄λ¬ν κ²°κ³Όλ₯Ό μ΄λνλ μμΈμ νλ‘κ·Έλ¨ μλ¬ λλ μ€λ₯λΌκ³ νλ€. μ΄λ₯Ό hyejin.tistory.com 1οΈβ£ μμΈ λ°μμν€κΈ° ν€μλ throw λ₯Ό μ¬μ©ν΄μ νλ‘κ·Έλλ¨Έκ° κ³ μλ‘ μμΈλ₯Ό λ°μμν¬ μ μλ€. 1. λ¨Όμ , μ°μ°μ new λ₯Ό μ΄μ©ν΄μ λ°μμν€λ €λ μμΈ ν΄λμ€μ κ°μ²΄λ₯Ό λ§λ λ€μ Exception e = new Exception("μμΈ λ°μ"); 2. ν€μλ throw λ₯Ό μ΄μ©ν΄μ μμΈλ₯Ό λ°μμν¨λ€. throw e; 2οΈβ£ checked μμΈμ unchecked μμΈ ..
2022.05.01 -
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°11. λ΄λΆν΄λμ€, μ΅λͺ ν΄λμ€
https://hyejin.tistory.com/571 [JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°10. μΈν°νμ΄μ€ μ₯μ , λν΄νΈ, static λ©μλ, λ΄λΆ ν΄λμ€ 1οΈβ£ μΈν°νμ΄μ€μ μ₯μ - κ°λ° μκ°μ λ¨μΆν μ μλ€. : μΌλ¨ μΈν°νμ΄μ€κ° μμ±λλ©΄, μ΄λ₯Ό μ¬μ©ν΄μ νλ‘κ·Έλ¨μ μμ±νλ κ²μ΄ κ°λ₯νκΈ° λλ¬Έμ λ©μλλ₯Ό νΈμΆνλ μͺ½μμλ λ©μλμ λ΄μ© hyejin.tistory.com 1οΈβ£ λ΄λΆ ν΄λμ€μ μ μΈ λ³μκ° μ μΈλ μμΉμ λ°λΌ μΈμ€ν΄μ€ λ³μ, ν΄λμ€ λ³μ(static λ³μ), μ§μλ³μλ‘ λλλ―μ΄ λ΄λΆ ν΄λμ€λ μ΄μ λ§μ°¬κ°μ§λ‘ μ μΈλ μμΉμ λ°λΌ λλλ€. κ° λ΄λΆ ν΄λμ€μ μ μΈμμΉμ λ°λΌ μ μΈμμΉμ λ³μμ λμΌν μ ν¨λ²μ(scope)μ μ κ·Όμ±μ κ°λλ€. class Outer { class Instan..
2022.04.30 -
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°10. μΈν°νμ΄μ€ μ₯μ , λν΄νΈ, static λ©μλ, λ΄λΆ ν΄λμ€
1οΈβ£ μΈν°νμ΄μ€μ μ₯μ - κ°λ° μκ°μ λ¨μΆν μ μλ€. : μΌλ¨ μΈν°νμ΄μ€κ° μμ±λλ©΄, μ΄λ₯Ό μ¬μ©ν΄μ νλ‘κ·Έλ¨μ μμ±νλ κ²μ΄ κ°λ₯νκΈ° λλ¬Έμ λ©μλλ₯Ό νΈμΆνλ μͺ½μμλ λ©μλμ λ΄μ©μ κ΄κ³μμ΄ μ μΈλΆλ§ μλ©΄ λκΈ° λλ¬Έμ κ°λ° μκ°μ λ¨μΆν μ μλ€. - λ³κ²½μ μ 리ν μ μ°ν μ€κ³κ° κ°λ₯νλ€. - νμ€νκ° κ°λ₯νλ€. : νλ‘μ νΈμ μ¬μ©λλ κΈ°λ³Έ νμ μΈν°νμ΄μ€λ‘ μμ±ν λ€μ, κ°λ°μλ€μκ² μΈν°νμ΄μ€λ₯Ό ꡬννμ¬ νλ‘κ·Έλ¨μ μμ±νλλ‘ ν¨μΌλ‘μ¨ λ³΄λ€ μΌκ΄λκ³ μ ννλ νλ‘κ·Έλ¨μ κ°λ°μ΄ κ°λ₯νλ€. - μλ‘ κ΄κ³μλ ν΄λμ€λ€μ κ΄κ³λ₯Ό λ§Ίμ΄μ€ μ μλ€. : μλ‘ μμκ΄κ³μ μμ§λ μκ³ , κ°μ μ‘°μ ν΄λμ€λ₯Ό κ°μ§κ³ μμ§ μμ μλ‘ μλ¬΄λ° κ΄κ³λ μλ ν΄λμ€λ€μκ² νλμ μΈν°νμ΄μ€λ₯Ό 곡ν΅μ μΌλ‘ ꡬννλλ‘ ν¨μΌλ‘μ¨ ..
2022.04.28 -
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°4. μ€λ²λ‘λ©, μμ±μ, λ³μμ μ΄κΈ°ν
1οΈβ£ μ€λ²λ‘λ© λ©μλλ λ³μμ λ§μ°¬κ°μ§λ‘ κ°μ ν΄λμ€ λ΄μμ μλ‘ κ΅¬λ³λ μ μμ΄μΌ νκΈ° λλ¬Έμ κ°κΈ° λ€λ₯Έ μ΄λ¦μ κ°μ ΈμΌ νλ€. κ·Έλ¬λ μλ°μμλ ν ν΄λμ€ λ΄μμ μ΄λ―Έ μ¬μ©νλ €λ μ΄λ¦κ³Ό κ°μ μ΄λ¦μ κ°μ§ λ©μλκ° μλλΌλ λ§€κ°λ³μμ κ°μ λλ νμ μ΄ λ€λ₯΄λ©΄, κ°μ μ΄λ¦μ μ¬μ©ν΄μ λ©μλλ₯Ό μ μν μ μλ€. ν ν΄λμ€ λ΄μ κ°μ μ΄λ¦μ λ©μλλ₯Ό μ¬λ¬ κ° μ μνλ κ²μ 'λ©μλ μ€λ²λ‘λ©' λλ 'μ€λ²λ‘λ©' μ΄λΌκ³ νλ€. - μ€λ²λ‘λ© μ‘°κ±΄ 1. λ©μλ μ΄λ¦μ΄ κ°μμΌ νλ€. 2. λ§€κ°λ³μμ κ°μ λλ νμ μ΄ λ¬λΌμΌ νλ€. κ·Έλ¦¬κ³ λ°ννμ μ μ€λ²λ‘λ©μ ꡬννλλ° μλ¬΄λ° μν₯μ μ£Όμ§ μλλ€!!! - μ€λ²λ‘λ© μ μ€λ²λ‘λ©μ λνμ μΈ μλ println() λ©μλμ΄λ€. μ€μ λ‘λ println λ©μλλ₯Ό νΈμΆν λ λ§€..
2022.04.17 -
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°3. κΈ°λ³Έν λ§€κ°λ³μμ μ°Έμ‘°ν λ§€κ°λ³μ, μ°Έμ‘°ν λ°ννμ , μ¬κ·νΈμΆ, ν΄λμ€ λ©μλμ μΈμ€ν΄μ€ λ©μλ
1οΈβ£ κΈ°λ³Έν λ§€κ°λ³μμ μ°Έμ‘°ν λ§€κ°λ³μ μλ°μμλ λ©μλλ₯Ό νΈμΆν λ λ§€κ°λ³μλ‘ μ§μ ν κ°μ λ©μλμ λ§€κ°λ³μμ 볡μ¬ν΄μ λ겨μ€λ€. λ§€κ°λ³μμ νμ μ΄ κΈ°λ³Έν primitive typeμΌ λλ κΈ°λ³Έν κ°μ΄ 볡μ¬λκ² μ§λ§, μ°Έμ‘°ν reference type μ΄λ©΄ μΈμ€ν΄μ€μ μ£Όμκ° λ³΅μ¬λλ€. κΈ°λ³Έν λ§€κ°λ³μ : λ³μμ κ°μ μ½κΈ°λ§ ν μ μλ€. (read only) μ°Έμ‘°ν λ§€κ°λ³μ : λ³μμ κ°μ μ½κ³ λ³κ²½ν μ μλ€. (read & write) - κΈ°λ³Έν λ§€κ°λ³μ change(int x)λ κΈ°λ³Έν λ§€κ°λ³μ λ°λΌμ d.xμ κ°μ΄ λ³κ²½λμ§ μλλ€. μλνλ©΄ μλ³Έμ΄ μλ 볡μ¬λ³Έμ΄ λ³κ²½λ κ²μ΄κΈ° λλ¬Έμ μλ³Έμλ μλ¬΄λ° μν₯μ μ£Όμ§ μλλ€! -> κΈ°λ³Έν λ§€κ°λ³μλ λ³μμ μ μ₯λ κ°λ§ μ½μ μ μμ λΏ λ³κ²½ν μ μλ€..
2022.04.15 -
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°2. returnλ¬Έ, JVM λ©λͺ¨λ¦¬ ꡬ쑰
1οΈβ£ return λ¬Έ returnλ¬Έμ νμ¬ μ€νμ€μΈ λ©μλλ₯Ό μ’ λ£νκ³ νΈμΆν λ©μλλ‘ λλμκ°λ€. λͺ¨λ λ©μλμλ μ μ΄λ νλμ returnλ¬Έμ΄ μμ΄μΌ νλ€. κ·Έλ°λ° λ°ν νμ μ΄ voidμΈ κ²½μ°μλ returnλ¬Έμ΄ μμ΄λ μλ¬΄λ° λ¬Έμ κ° μμλ μ΄μ λ μ»΄νμΌλ¬κ° λ©μλμ λ§μ§λ§μ return;μ μλμ μΌλ‘ μΆκ°νκΈ° λλ¬Έμ΄λ€. λ°ννμ μ΄ voidκ° μλ κ²½μ°, μ¦ λ°νκ°μ΄ μλ κ²½μ°μλ λ°λμ returnλ¬Έμ΄ μμ΄μΌ νκ³ , returnλ¬Έμ΄ μμΌλ©΄ μ»΄νμΌμλ¬κ° λ°μνλ€. int add(int x, int y) { int result = x + y; return result; } -> λ°λμ returnλ¬Έμ΄ μμ΄μΌ νλ€. βοΈ λ§€κ°λ³μμ μ ν¨μ± κ²μ¬ λ©μλμ ꡬνλΆ{}λ₯Ό μμ±ν λ μ μΌ λ¨Όμ ν΄μΌνλ κ²μ λ§€..
2022.04.15 -
[JAVA] λ μλ°, Java 8 μ λ Έν μ΄μ λ³ν, λ°°μ΄ Parallel μ λ ¬, Metaspace
1οΈβ£ μ λ Έν μ΄μ λ³ν μλ°8 λΆν° μ λ Έν μ΄μ μ νμ μ μΈλΆμλ μ¬μ©ν μ μκ² λ¨ μλ°8λΆν° μ λ Έν μ΄μ μ μ€λ³΅ν΄μ μ¬μ©ν μ μκ² λ¨ νμ μ μΈλΆ -> μ λ€λ¦ νμ , λ³μ νμ , λ§€κ°λ³μ νμ , μμΈ νμ .. νμ μ μ¬μ©ν μ μμΌλ €λ©΄ TYPE_PRARMETER : νμ λ³μμλ§ μ¬μ©ν μ μλ€. TYPE_USE : νμ λ³μλ₯Ό ν¬ν¨ν΄μ λͺ¨λ νμ μ μΈλΆμ μ¬μ©ν μ μλ€. μ€λ³΅ μ λ Έν μ΄μ λ§λ€κΈ° -> μ€λ³΅ μ¬μ©ν μ λ Έν μ΄μ λ§λ€κΈ° -> μ€λ³΅ μ λ Έν μ΄μ 컨ν μ΄λ λ§λ€κΈ° : 컨ν μ΄λ μ λ Έν μ΄μ μ μ€λ³΅ μ λ Έν μ΄μ κ³Ό @Retentionκ³Ό @Targetμ΄ κ°κ±°λ λ λμ΄μΌ νλ€. 2οΈβ£ λ°°μ΄ Parallel μ λ ¬ Arrays.parallelSort() : Fork/join νλ μμν¬λ₯Ό μ¬μ©ν΄μ λ°°μ΄μ λ³λ ¬λ‘ ..
2022.04.11 -
[JAVA] λ μλ°, Java 8 CompletableFuture
1οΈβ£ Concurrent μννΈμ¨μ΄ λ? λμμ μ¬λ¬ μμ μ ν μ μλ μννΈμ¨μ΄ μ) μΉ λΈλΌμ°μ λ‘ μ νλΈλ₯Ό 보면μ ν€λ³΄λλ‘ λ¬Έμμ νμ΄νμ ν μ μλ€. μ) λ Ήνλ₯Ό νλ©΄μ IntelliJλ‘ μ½λ©μ νκ³ μλμ μ μ΄λ λ¬Έμλ₯Ό λ³΄κ³ λ μμ ν μ μλ€. 2οΈβ£ μλ°μμ μ§μνλ Concurrent νλ‘κ·Έλλ° : λ©ν° νλ‘μΈμ±(ProcessBuilder), λ©ν° μ°λ λ 3οΈβ£ μλ° λ©ν°μ°λ λ νλ‘κ·Έλλ° Thread/ Runnable - μ°λ λλ₯Ό μμ±νλ λ°©λ² Thread μμλ°μμ ꡬν Runnable ꡬν λλ λλ€ - μ°λ λμ μ£Όμ κΈ°λ₯ νμ¬ μ°λ λ λ©μΆ°λκΈ° (sleep) λ€λ₯Έ μ°λ λ κΉ¨μ°κΈ° (interrupt) λ€λ₯Έ μ°λ λ κΈ°λ€λ¦¬κΈ° (join) 4οΈβ£ Executors : κ³ μμ€High-Level..
2022.04.11