JAVA(143)
-
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°10. μΈν°νμ΄μ€ μ₯μ , λν΄νΈ, static λ©μλ, λ΄λΆ ν΄λμ€
1οΈβ£ μΈν°νμ΄μ€μ μ₯μ - κ°λ° μκ°μ λ¨μΆν μ μλ€. : μΌλ¨ μΈν°νμ΄μ€κ° μμ±λλ©΄, μ΄λ₯Ό μ¬μ©ν΄μ νλ‘κ·Έλ¨μ μμ±νλ κ²μ΄ κ°λ₯νκΈ° λλ¬Έμ λ©μλλ₯Ό νΈμΆνλ μͺ½μμλ λ©μλμ λ΄μ©μ κ΄κ³μμ΄ μ μΈλΆλ§ μλ©΄ λκΈ° λλ¬Έμ κ°λ° μκ°μ λ¨μΆν μ μλ€. - λ³κ²½μ μ 리ν μ μ°ν μ€κ³κ° κ°λ₯νλ€. - νμ€νκ° κ°λ₯νλ€. : νλ‘μ νΈμ μ¬μ©λλ κΈ°λ³Έ νμ μΈν°νμ΄μ€λ‘ μμ±ν λ€μ, κ°λ°μλ€μκ² μΈν°νμ΄μ€λ₯Ό ꡬννμ¬ νλ‘κ·Έλ¨μ μμ±νλλ‘ ν¨μΌλ‘μ¨ λ³΄λ€ μΌκ΄λκ³ μ ννλ νλ‘κ·Έλ¨μ κ°λ°μ΄ κ°λ₯νλ€. - μλ‘ κ΄κ³μλ ν΄λμ€λ€μ κ΄κ³λ₯Ό λ§Ίμ΄μ€ μ μλ€. : μλ‘ μμκ΄κ³μ μμ§λ μκ³ , κ°μ μ‘°μ ν΄λμ€λ₯Ό κ°μ§κ³ μμ§ μμ μλ‘ μλ¬΄λ° κ΄κ³λ μλ ν΄λμ€λ€μκ² νλμ μΈν°νμ΄μ€λ₯Ό 곡ν΅μ μΌλ‘ ꡬννλλ‘ ν¨μΌλ‘μ¨ ..
2022.04.28 -
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°9. μΆμν΄λμ€ μμ±, μΈν°νμ΄μ€
https://hyejin.tistory.com/568 [JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°8. λ€νμ±, μΆμν΄λμ€ https://hyejin.tistory.com/567 [JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°7. λ€νμ± 1οΈβ£ λ€νμ±(polymorphism) κ°μ²΄μ§ν₯κ°λ μμ λ€νμ±μ΄λ 'μ¬λ¬κ°μ§ ννλ₯Ό κ°μ§ μ μλ λ₯λ ₯'μ μλ―Ένλ©°, μλ°μμλ ν νμ μ μ°Έ hyejin.tistory.com 1οΈβ£ μΆμν΄λμ€ μμ± μ΄λ€ ν΄λμ€μ 곡ν΅μ μΌλ‘ μ¬μ©λ μ μλ ν΄λμ€λ₯Ό λ°λ‘ μμ±νκΈ°λ νκ³ , κΈ°μ‘΄μ ν΄λμ€μ 곡ν΅μ μΈ λΆλΆμ λ½μμ μΆμν΄λμ€λ‘ λ§λ€μ΄ μμνλλ‘ νλ κ²½μ°λ μλ€. μμμ΄ μμ ν΄λμ€λ₯Ό λ§λλλ° μ‘°μ ν΄λμ€λ₯Ό μ¬μ©νλ κ²μ΄λΌλ©΄, λ°λλ‘ μΆμνλ κΈ°μ‘΄μ ν΄λμ€μ 곡ν΅μ μΈ λΆλΆμ λ½μλ΄μ μ‘°μ..
2022.04.24 -
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°8. λ€νμ±, μΆμν΄λμ€
https://hyejin.tistory.com/567 [JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°7. λ€νμ± 1οΈβ£ λ€νμ±(polymorphism) κ°μ²΄μ§ν₯κ°λ μμ λ€νμ±μ΄λ 'μ¬λ¬κ°μ§ ννλ₯Ό κ°μ§ μ μλ λ₯λ ₯'μ μλ―Ένλ©°, μλ°μμλ ν νμ μ μ°Έμ‘°λ³μλ‘ νμ¬ μ¬λ¬ νμ μ κ°μ²΄λ₯Ό μ°Έμ‘°ν μ μλλ‘ ν¨μΌλ‘μ¨ hyejin.tistory.com 1οΈβ£ μ¬λ¬ μ’ λ₯μ κ°μ²΄λ₯Ό λ°°μ΄λ‘ λ€λ£¨κΈ° μ‘°μνμ μ μ°Έμ‘°λ³μ λ°°μ΄μ μ¬μ©νλ©΄, 곡ν΅μ μ‘°μμ κ°μ§ μλ‘ λ€λ₯Έ μ’ λ₯μ κ°μ²΄λ₯Ό λ°°μ΄λ‘ λ¬Άμ΄μ λ€λ£° μ μλ€. λλ λ¬Άμ΄μ λ€λ£¨κ³ μΆμ κ°μ²΄λ€μ μμκ΄κ³λ₯Ό λ°μ Έμ κ°μ₯ κ°κΉμ΄ 곡ν΅μ‘°μ ν΄λμ€ νμ μ μ°Έμ‘°λ³μ λ°°μ΄μ μμ±ν΄μ κ°μ²΄λ€μ μ μ₯νλ©΄ λλ€. Product[] products = new Product[3]; products..
2022.04.23 -
[JAVA] 11. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°7. λ€νμ±
1οΈβ£ λ€νμ±(polymorphism) κ°μ²΄μ§ν₯κ°λ μμ λ€νμ±μ΄λ 'μ¬λ¬κ°μ§ ννλ₯Ό κ°μ§ μ μλ λ₯λ ₯'μ μλ―Ένλ©°, μλ°μμλ ν νμ μ μ°Έμ‘°λ³μλ‘ νμ¬ μ¬λ¬ νμ μ κ°μ²΄λ₯Ό μ°Έμ‘°ν μ μλλ‘ ν¨μΌλ‘μ¨ λ€νμ±μ νλ‘κ·Έλ¨μ μΌλ‘ ꡬννμλ€. -> μ‘°μν΄λμ€ νμ μ μ°Έμ‘°λ³μλ‘ μμν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μ°Έμ‘°ν μ μλλ‘ νμλ€. Tv t = new Tv(); Tv t2 = new SmartTv(); SmartTv t3 = new SmartTv(); -> Tv μ°Έμ‘° λ³μλ‘λ SmartTv μΈμ€ν΄μ€ μ€μμ Tv ν΄λμ€μ λ©€λ²λ€λ§ μ¬μ©ν μ μλ€. λ λ€ κ°μ νμ μ μΈμ€ν΄μ€μ§λ§ μ°Έμ‘°λ³μμ νμ μ λ°λΌ μ¬μ©ν μ μλ λ©€λ²μ κ°μκ° λ¬λΌμ§λ€. μ°Έμ‘°λ³μκ° μ¬μ©ν μ μλ λ©€λ²μ κ°μλ μΈμ€ν΄μ€μ λ©€λ² κ°μλ³΄λ€ κ°κ±°λ ..
2022.04.21 -
[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] 9. String λ°°μ΄, λ€μ°¨μ λ°°μ΄
1οΈβ£ String λ°°μ΄ String[] name = new String[3]; -> 3κ°μ λ¬Έμμ΄μ λ΄μ μ μλ λ°°μ΄μ΄ μμ±λλ€. μ¦ 3κ°μ Stringνμ μ μ°Έμ‘°λ³μλ₯Ό μ μ₯νκΈ° μν 곡κ°μ΄ λ§λ ¨λκ³ μ°Έμ‘°ν λ³μμ κΈ°λ³Έκ°μ nullμ΄λ―λ‘ κ° μμμ κ°μ nullλ‘ μ΄κΈ°νλλ€. String[] name = {"kim", "lee", "park"}; -> μ΄λ λ°°μ΄μ μ€μ κ°μ²΄κ° μλ κ°μ²΄μ μ£Όμκ° μ μ₯λλ€. κΈ°λ³Έν λ°°μ΄μ΄ μλ κ²½μ°, μ¦ μ°Έμ‘°ν λ°°μ΄μ κ²½μ°μλ λ°°μ΄μ μ μ₯λλ κ²μ κ°μ²΄μ μ£Όμμ΄λ€!! 2οΈβ£ char λ°°μ΄κ³Ό String ν΄λμ€ μ§κΈκΉμ§ λ¬Έμμ΄μ μ μ₯ν λ String νμ μμ λ³μλ₯Ό μ¬μ©νλ€. μ¬μ€ λ¬Έμμ΄μ΄λΌλ μ©μ΄λ 'λ¬Έμλ₯Ό μ°μ΄μ΄ λμ΄λμ κ²'μ μλ―ΈνκΈ° λλ¬Έμ λ¬Έμλ°°μ΄μΈ char ..
2022.04.11 -
[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 -
[JAVA] λ μλ°, Java 8 Dateμ Time API
1οΈβ£ μ΄μ Dateμ Time java 8 μ μλ‘μ΄ λ μ§μ μκ° APIκ° μκΈ΄ μ΄μ -> κ·Έμ κΉμ§ μ¬μ©νλ java.util.Date ν΄λμ€λ mutuable(λ³κ²½μ΄ μ¬μ΄) λλ¬Έμ Thread safeνμ§ μμλ€. -> ν΄λμ€ μ΄λ¦μ΄ λͺ ννμ§ μλ€. (DateμΈλ° μκ°μ λ€λ£¨κΈ°λ νκ³ μ΄λ¦μ΄ μ’ ν·κ°λ¦°λ€.) -> λ²κ·Έ λ°μν μ¬μ§κ° λ§λ€. (νμ μμ μ±μ΄ μκ³ , μμ΄ 0λΆν° μμ..) -> λ μ§ μκ° μ²λ¦¬κ° 볡μ‘ν μ ν리μΌμ΄μ μμλ λ³΄ν΅ joda timeμ μ¬μ©νκ³€ νλ€. 2οΈβ£ μ£Όμ API - κΈ°κ³μ© μκ° machine Time κ³Ό μΈλ₯μ© μκ° human timeμΌλ‘ λλ μ μλ€. - κΈ°κ³μ© μκ° epoke (1970λ 1μ 1μΌ 0μ 0λΆ 0μ΄)λΆν° νμ¬κΉμ§μ νμ μ€ν¬νλ₯Ό ννν μ μλ€. -..
2022.04.11 -
[JAVA] λ μλ°, Java 8 Optional
1οΈβ£ Optional νλ‘κ·Έλλ°μ νλ€λ³΄λ©΄ κ°λ°μμ μ€μλ‘ μΈν΄ nullμ 리ν΄νκ±°λ null 체ν¬λ₯Ό κΉλΉ‘ν΄μ NPE(NullPointerExecption)μ μ’ μ’ λ³΄κ² λλ€. λ©μλμμ μμ νλ€λ³΄λ©΄ νΉλ³ν μν©μμ κ°μ μ λλ‘ λ¦¬ν΄ν μ μλ κ²½μ°μλ μμΈλ₯Ό λμ§κ±°λ , nullμ 리ν΄ν΄ ν΄λΌμ΄μΈνΈ μ½λμμ μ£Όμνκ±°λ, Optional(java8λΆν°!)μ 리ν΄νλ€. Optionalμ΄λ? μ€μ§ κ° ν κ°κ° λ€μ΄μμμλ μμμλ μλ 컨ν μ΄λ Optional μ¬μ©μ μ£Όμν μ - Optionalμ 리ν΄κ°μΌλ‘λ§ μ°κΈ°λ₯Ό κΆμ₯νλ€. -> λ©μλ 맀κ°λ³μ νμ , 맡μ ν€ νμ , μΈμ€ν΄μ€ νλ νμ μΌλ‘ μ°μ§λ§κΈ° - Optionalμ 리ν΄νλ λ©μλμμ nullμ 리ν΄νμ§ λ§μ. - Primitive νμ μ© Opt..
2022.04.11