Android/Java
-
[Java] Enumμ΄λ?Android/Java 2021. 2. 14. 18:43
μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ" λ΄μ©μ 곡λΆνμ¬ μμ±ν κΈμ λλ€. μμμ νν κΈ°μ‘΄μ μμλ₯Ό ννν λλ ν΄λΉ ν΄λμ€ λ΄λΆμ final static String, final static intμ κ°μ΄ μ μλ₯Ό νμμ΅λλ€. μ΄μ²λΌ μ μνλ λ°©μμ μμκ° λ§μμ§ κ²½μ° κ°λ μ±μ΄ λ¨μ΄μ§κ³ , μ΄λ€ κ²μ κ΄ν μμμΈμ§ νμ νκΈ°κ° μ΄λ ΅μ΅λλ€. κ·Έλμ μλ‘μ΄ μμ ν΄λμ€ λλ μμ μΈν°νμ΄μ€λ₯Ό λ§λ€μ΄μ μ μλ₯Ό νμ§λ§ μ΄ μμλ μ¬λ¬κ°μ§ λΆνΈν¨μ΄ μ‘΄μ¬νμμ΅λλ€. interface UNIVERSITY{ int SEOUL = 1; int YONSEI = 2; int KOREA = 3; } interface MAJOR{ int KOREAN = 1; int MATH = 2; int ENGLISH = 3; int SCIENCE =..
-
[Java] μλ° μ°λ λ κ΅μ°©μν(deadlock)Android/Java 2021. 2. 7. 17:01
μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ" λ΄μ©μ κ°μ§κ³ 곡λΆνμ¬ μμ±ν κΈμ λλ€. Thread DeadLock μ΄λ? λ©ν° μ°λ λ νλ‘κ·Έλλ°μμ λκΈ°νλ₯Ό ν΅ν΄ λ½μ νλνμ¬ λμΌν μμμ μ¬λ¬ κ³³μμ ν¨λΆλ‘ μ¬μ©νμ§ λͺ»νλλ‘ νμμ΅λλ€. νμ§λ§ λ κ°μ μ°λ λμμ μλ‘κ° κ°μ§κ³ μλ λ½μ΄ ν΄μ λκΈ°λ₯Ό κΈ°λ€λ¦¬λ μνκ° μκΈΈ μ μμΌλ©° μ΄λ¬ν μνλ₯Ό κ΅μ°©μν(deadlock) μ΄λΌκ³ ν©λλ€. κ΅μ°©μνκ° λλ©΄ μ΄λ€ μμ λ μ€νλμ§ λͺ»νκ³ μλ‘ μλλ°©μ μμ μ΄ λλκΈ°λ§ λ°λΌλ 무νμ λκΈ° μνμ λλ€. DeakLock λ°μ 쑰건 μνΈ λ°°μ (Mutual Exclusion) : ν μμμ λν΄ μ¬λ¬ μ°λ λ λμ μ κ·Ό λΆκ° μ μ μ λκΈ° (Hold and Wait) : μμμ κ°μ§κ³ μλ μνμμ λ€λ₯Έ μ°λ λκ° μ¬μ©νκ³ μλ μ..
-
[Java] μλ° μ°λ λ μν, μ°μ μμ(State, Priority)Android/Java 2021. 2. 5. 02:19
μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ" μ μ°Έμ¬νμ¬ κ³΅λΆν κΈμ λλ€. λ©ν° μ°λ λ λ©ν° μ°λ λ νλ‘κ·Έλλ°μ΄λ νλμ μμ©νλ‘κ·Έλ¨μμ λμμ μ¬λ¬ μ²λ¦¬λ₯Ό νκΈ° μν΄ μ°λ λλ₯Ό μμ±νμ¬ μ΄μνλ νλ‘κ·Έλλ°μ λ§ν©λλ€. λ©ν° μ°λ λ νλ‘κ·Έλλ°μ νΉμ§μ λμμ±κ³Ό λ³λ ¬μ±μ΄ μ‘΄μ¬ν©λλ€. νλμ μ½μ΄μμ μ¬λ¬ κ°μ μ°λ λλ₯Ό μ΄μνλ κ²μ λμμ±μΌλ‘ λΉ λ₯Έ μλλ‘ μ°λ λλ₯Ό λ²κ°μ κ°λ©΄μ μ€ννλ κ²μ λλ€. λ³λ ¬μ±μ λ€μμ μ½μ΄μμ κ° μ½μ΄μ μ°λ λλ₯Ό μμ±νμ¬ μ€νμν€λ κ²μ λλ€. μλ° μ°λ λ μν (Thread State) μλ° λ©ν° μ°λ λ νλ‘κ·Έλλ°μ νλ©΄ λκΈ°ν/λΉλκΈ°ν λΏλ§ μλλΌ μ°λ λ μνλ₯Ό μ§μ μ μ΄ν κ²½μ°λ μκΉλλ€. μ°λ λ μ μ΄νκΈ° μ μ μ°λ λμ μνλ‘ μμμΌ νλλ° getState() λ©μλλ₯Ό ν΅ν΄ μ μ μμ΅λ..
-
[Java] μλ° μ°λ λ μμ±(Thread, Runnable)Android/Java 2021. 2. 2. 14:52
μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ" 곡λΆν λ΄μ©μ μ 리νμ¬ μ΄ κΈμ λλ€. Process vs Thread μλ°μ μ°λ λλ₯Ό μ€λͺ νκΈ° μ΄μ μ νλ‘μΈμ€μ μ°λ λμ μ°¨μ΄μ λν΄ κ°λ΅νκ²λλ§ μ νμκ° μμ΅λλ€. Process νλ‘μΈμ€μ μ¬μ μ μ μλ‘λ μ€ν μ€μΈ νλ‘κ·Έλ¨μ λ»νκ² λ©λλ€. μλμ°μμ μ μ₯μ₯μΉμ μ μ₯λ μνλ₯Ό νλ‘κ·Έλ¨μ΄λΌκ³ νκ³ λλΈν΄λ¦μ ν΅ν΄ νλ‘κ·Έλ¨μ΄ λ©λͺ¨λ¦¬ 곡κ°μ μ¬λΌμ μ€νμ€μΈ νλ‘κ·Έλ¨ μΈμ€ν΄μ€λ₯Ό νλ‘μΈμ€λΌκ³ ν©λλ€. Thread ν νλ‘μΈμ€ λ΄μμ λμλλ μ€νλ¨μλ₯Ό λ»νκ² λ©λλ€. ν¬λ‘¬ λΈλΌμ°μ λΌλ νλ‘μΈμ€μμ μ νλΈμ μ μνμ¬ λμμμ μμ²ν λ μ νλΈ λ°μ΄ν°λ₯Ό λ€μ΄λ‘λ λ°μΌλ©΄μ λμμμ΄ μ€νλλ μμ μ΄ λμμ μ΄λ£¨μ΄μ§λ κ²λ μ°λ λλ₯Ό ν΅ν΄ κ°λ₯νκ² λ©λλ€. Thread μμ± μλ°μμ T..
-
[Java] μλ° μμΈμ²λ¦¬Android/Java 2021. 2. 1. 23:01
μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ" 곡λΆνμ¬ μμ±ν κΈμ λλ€. Error(μλ¬) vs Exception(μμΈ) μ°Έμ‘°(https://coding-factory.tistory.com/280) μλ°μ μμΈμ²λ¦¬λ₯Ό μ€λͺ νκΈ° μ΄μ μ μλ¬μ μμΈλ₯Ό ꡬλ³ν νμ μ€λͺ νλλ‘ νκ² μ΅λλ€. μ λν μλ¬λ μμΈλ₯Ό ꡬλ³νμ§ μκ³ λκ°λ€λΌλ μκ°μ νμλλ° μ΄λ² μ€ν°λλ₯Ό ν΅ν΄ μκ² λμμ΅λλ€. Error(μλ¬) μλ¬λ μ»΄ν¨ν° νλμ¨μ΄ μ€λμ λλ κ³ μ₯μΌλ‘ μΈν΄μ μμ©νλ‘κ·Έλ¨μ μ€λ₯κ° λ°μνκ±°λ, JVM μ€νμ λ¬Έμ κ° μκ²Όμ κ²½μ°μ λ°μν©λλ€. λ°νμ μ λ°μλλ©° μ λΆ μμΈ‘ λΆκ°λ₯ν UnChecked Error μ λλ€. κ·Έλμ κ°λ°μκ° λμ²νλ λ°©λ²μλ μ νμ μΌ μλ°μ μμ΅λλ€. Exception(μμΈ) λ¨μν κ°λ°μμ μλͺ»λ μ½λ©..
-
[Java] μλ° μΈν°νμ΄μ€(Interface) μ¬μ©Android/Java 2021. 1. 24. 02:47
μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ" λ΄μ©μ 곡λΆνμ¬ μμ±νμμ΅λλ€. μΈν°νμ΄μ€(Interface)λ? νμ μμ μμ€μ½λ μμ± μ ν΄λμ€λ₯Ό μ²μλΆν° ꡬννκ² λλ€λ©΄ μ½λμ κ°λ μ±λ λ¨μ΄μ§κ³ μκ°λ μ€λ걸릴 κ²μ λλ€. λν νλ³λ‘ κ°κ° λ€λ₯Έ λͺ¨λμ λ§λ€ μ νλ§λ€ λ°©λ²μ΄ λ€λ₯΄κΈ° λλ¬Έμ μλ‘ νΈνμ±μ΄ μκ³ μΌκ΄μ±μ΄ λ¨μ΄μ§κ² λ©λλ€. μΈν°νμ΄μ€λ₯Ό ν΅ν΄ κΈ°λ³Έμ μΌλ‘ ꡬνν΄μΌ ν λ©μλμ λν κ·κ²©λ€μ μλ €μ€λ€λ©΄ ν¨μ¬ ν¨μ¨μ μΌ κ²μ λλ€. μ¦, μΈν°νμ΄μ€λ νΉμ κΈ°λ₯μ κ°λ°νλλ° μμ΄ κ³΅ν΅μ μΈ κΈ°λ₯μ λͺ μνκ³ κ°μ μ μΌλ‘ ꡬννκ²λ νλ μν μ λλ€. μΈν°νμ΄μ€λ₯Ό μ¬μ©νκ² λλ€λ©΄ μλ°μ λ€νμ±μ μ΄μ©ν μ μκ³ μ΄λ₯Ό ν΅ν΄ μ μ§λ³΄μμ±μ λμΌ μ μμ΅λλ€. μΈν°νμ΄μ€ μ μ public interface Phone { int ve..
-
[Java] μλ° ν¨ν€μ§λ?Android/Java 2021. 1. 19. 23:48
μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ λ΄μ©"μ 곡λΆνμ¬ μμ±νμμ΅λλ€. ν¨ν€μ§λ? μλ°μμμ ν¨ν€μ§λ ν΄λμ€λ μΈν°νμ΄μ€λ€μ ν κ³³μ λͺ¨μλλ κ³³μ μλ―Έν©λλ€. ν¨ν€μ§ λ³λ‘ μνλ κΈ°λ₯μ ꡬνν ν΄λμ€λ μΈν°νμ΄μ€λ₯Ό λͺ¨μλκΈ° λλ¬Έμ νμΌμ ν¨μ¨μ μΌλ‘ κ΄λ¦¬ν μ μμ΅λλ€. λν, ν΄λμ€ μ΄λ¦μ΄ κ°λλΌλ λ€λ₯Έ ν¨ν€μ§μ ν΄λμ€λΌλ©΄ λ¬Έμ κ° λ°μνμ§ μμ΅λλ€. ν¨ν€μ§ λ΄λΆμλ μλΈ ν¨ν€μ§λ μμ μ μμ΄μ μ (.)μ ν΅ν΄μ ꡬλΆν©λλ€. ex) java.lang.String : java.lang ν¨ν€μ§ λ΄λΆμ String ν΄λμ€ package Human; public class Student { String name; int age; }package ν¨ν€μ§λͺ μ μ λ ₯νμ¬ μ μΈν μ μμ΅λλ€. import μμ€μ½λ μμ± μ ..
-
[Java] μΆμ ν΄λμ€, Dispatch, final, Object ν΄λμ€Android/Java 2021. 1. 18. 23:13
μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ"λ₯Ό 곡λΆνμ¬ μμ±ν κΈμ λλ€. μΆμ ν΄λμ€ μΆμ ν΄λμ€λ μ¬λ¬κ°μ§ μ€μ²΄ ν΄λμ€μ 곡ν΅μ μΈ λΆλΆμ μΆμΆν΄ λ§λ€μ΄μ§ μΆμμ μΈ ν΄λμ€μ λλ€. λνμ ν΄λμ€κ° μ€μ²΄ ν΄λμ€λΌκ³ κ°μ νλ©΄ μμΈλ, μ°μΈλ, κ³ λ €λ λ€μν λνμ ν΄λμ€κ° λ§λ€μ΄ μ§ μ μμ΅λλ€. νμ§λ§, μ΄λ° ν΄λμ€λ€μμ μ΄λ¦, λμ΄κ°μ 곡ν΅μ μΈ μμ±κ³Ό λ©μλλ₯Ό μΆμΆν΄ μ μΈν ν΄λμ€λ₯Ό μΆμν΄λμ€λΌκ³ ν©λλ€. μΆμ ν΄λμ€λ₯Ό μ¬μ©νλ©΄ μ μ§λ³΄μμ±μ λμ΄κ³ ν΅μΌμ±μ μ μ§ν μ μμ΅λλ€. μ°Έμ‘°(https://limkydev.tistory.com/188) public abstract class Student { public String name; public int age; public void printInfo(){ System..