SOLIDλ? ν΄λ¦°μ½λλ‘ μ λͺ ν λ‘λ²νΈ λ§ν΄μ΄ μ’μ κ°μ²΄ μ§ν₯ μ€κ³μ 5κ°μ§ μμΉμ μ 리ν κ²μ΄λ€. SRP : λ¨μΌ μ± μ μμΉ OCP : κ°λ°©-νμ μμΉ LSP : 리μ€μ½ν μΉν μμΉ ISP : μΈν°νμ΄μ€ λΆλ¦¬ μμΉ DIP : μμ‘΄κ΄κ³ μμ μμΉ SRP(Single Responsibility Principle) ν ν΄λμ€λ νλμ μ± μλ§ κ°μ ΈμΌ νλ€. μ€μν κΈ°μ€μ λ³κ²½, λ³κ²½μ΄ μμ λ νλμ ν΄λμ€λ§ λ³κ²½λλ©΄ κ΅μ₯ν μ μ§ν¨ κ²μ΄λ€. β νλμ ν΄λμ€ μμ DB, SQL 쿼리문, View λ‘μ§ ...... μ μ§λ³΄μ μΈ‘λ©΄μμ μ΅μ μ΄λ€. OCP(Open/closed principle) μννΈμ¨μ΄ μμλ νμ₯μλ μ΄λ € μμΌλ λ³κ²½μλ λ«ν μμ΄μΌ νλ€. λ§μ½ μΈν°νμ΄μ€λ₯Ό λ§λ€μ΄ μΈν°νμ΄μ€λ₯Ό ꡬννλ ꡬν체..
Wrapper Class κ°λ Wrapper Classλ? Javaμμλ κΈ°λ³Έν λ³μ(Primitive Type)μ μ°Έμ‘°ν λ³μ(Reference Type)κ° μ‘΄μ¬ν¨ κ·Έλ°λ° λ°μ΄ν°λ₯Ό μ μ₯ν λ κΈ°λ³Έν λ³μμλ μ μ₯ν μ μμ§λ§ κΈ°λ³Έν λ³μλ₯Ό κ°μ²΄λ‘ μ·¨κΈν΄μΌ νλ κ²½μ°κ° μμ μ΄λ κΈ°λ³Έν λ³μλ₯Ό κ°μ²΄λ‘ ν¬μ₯ν΄μ£Όλ ν΄λμ€λ₯Ό Wrapper ClassλΌκ³ ν¨ Wrapper ν΄λμ€λ μ°μ μ°μ°μ μν΄ μ μλ ν΄λμ€κ° μλλ―λ‘, μΈμ€ν΄μ€μ μ μ₯λ κ°μ λ³κ²½ν μ μμ λ¨μ§, κ°μ μ°Έμ‘°νκΈ° μν΄ μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό μμ±νκ³ , μμ±λ μΈμ€ν΄μ€μ κ°λ§μ μ°Έμ‘°ν μ μμ Ex) Integer data = new Integer(123); Wrapper Classμ μ’ λ₯ λ°μ±(Boxing)κ³Ό μΈλ°μ±(UnBoxing) λ°μ±κ³Ό μΈ..
μΆμν΄λμ€λ? μΆμ λ©μλλ₯Ό μ μΈνμ¬ μμμ ν΅ν΄μ μμ ν΄λμ€μμ μμ±μ μ λνλ ν΄λμ€μ΄λ€. ν κ° μ΄μμ μΆμλ©μλλ₯Ό κ°μ§μ§λ§ ꡬν λ λ©μλλ μ μκ° κ°λ₯νλ€. λ―Έμμ± μ€κ³λ μμμ μν ν΄λμ€μ΄κΈ° λλ¬Έμ λ°λ‘ κ°μ²΄λ₯Ό μμ±ν μ μλ€. μΆμλ©μλλ μ μΈλ§λλ©° ꡬνλμ§ μμ λΆμμ ν λ©μλμ΄λ―λ‘ κ°μ²΄λ₯Ό μμ±νμ§ λͺ»νλ€. μΈν°νμ΄μ€λ? μμμ μΆμ λ©μλμ μ§ν©μ΄λ€. μ¦, λ‘μ§μ μμ±ν μ μλ€. κΈ°λ³Έ μ€κ³λ μΌμ’ μ μΆμ ν΄λμ€λ‘, μΆμ λ©μλλ₯Ό κ°μ§λ§ μΆμ ν΄λμ€λ³΄λ€ μΆμν μ λκ° λλ€. μΆμ ν΄λμ€μ²λΌ λ€λ₯Έ ν΄λμ€λ₯Ό μμ±νλλ° λμμ μ£Όλ λͺ©μ μΌλ‘ μμ±νλ€. λ€μ€ μμ(ꡬν)μ΄ κ°λ₯νλ€. μμ±μλ₯Ό κ°μ§ μ μμΌλ©° κ°μ²΄νκ° λΆκ°λ₯νλ€. μΆμν΄λμ€ μΈν°νμ΄μ€ μ°¨μ΄μ μ¬μ©μλ μ°¨μ΄μ μΆμν΄λμ€λ IS ..
μ μΈ μμΉμ λ°λ₯Έ λ³μμ μ’ λ₯ 1. μΈμ€ν΄μ€ λ³μ ν΄λμ€ μμμ μ μΈλλ©° μΈμ€ν΄μ€ μμ±μ λ§λ€μ΄μ§ κ° μΈμ€ν΄μ€λ λ 립λ λ©λͺ¨λ¦¬ 곡κ°μ κ°μ§λ―λ‘ μλ‘ λ€λ₯Έ κ°μ κ°μ§κ³ μμ 2. ν΄λμ€ λ³μ μΈμ€ν΄μ€ λ³μ μμ staticμ λΆμ΄λ©΄ μμ±ν μ μμ ν΄λμ€μ λͺ¨λ μΈμ€ν΄μ€λ€μ΄ 곡μ νκ² λ¨ μΈμ€ν΄μ€λ₯Ό μμ±νμ§ μμλ μΈμ λ μ¬μ©κ°λ₯νλ©°, ν΄λμ€ λ‘λ©μ μμ±λ¨ publicμ μμ λΆμ΄λ©΄ μ μλ³μμ²λΌ μ¬μ© κ°λ₯ 3. μ§μ λ³μ λ©μλ λ΄μ μ μΈλλ©°, λ©μλκ° μ¬λΌμ§λ©΄ μλ©Έ λΈλ λ΄μμλ§ μ¬μ©μ΄ κ°λ₯ν¨ Reference JAVAμ μ μ, λμ°μΆν, λ¨κΆ μ± μ§μ
λ©ν°μ€λ λ© λ©ν°ν μ€νΉμ΄λ? μ€μ μ²λ¦¬λ μ μλ νλ‘μΈμ€μ μ = CPU μ½μ΄μ κ°μ CPU μ½μ΄μ κ°μλ³΄λ€ λ§μ νλ‘μΈμ€κ° μ‘΄μ¬νκΈ° λλ¬Έμ λͺ¨λ ν¨κ» λμμ μ²λ¦¬ν μ μμ κ° μ½μ΄λ€μ μμ£Ό μ§§μ μκ°λμ μ¬λ¬ νλ‘μΈμ€λ₯Ό λ²κ°μκ°λ©° μ²λ¦¬νμ¬ λμμμ ν΅ν΄ λμμ λμνλ κ²μ²λΌ 보μ΄κ² νλ κ² λ©ν°μ€λ λ©μ΄λ? λ©ν°ν μ€νΉκ³Ό λ§μ°¬κ°μ§λ‘ νλμ νλ‘μΈμ€ μμ μ¬λ¬κ°μ μ€λ λκ° λμμ ν μμ μ μννλ κ²μ μλ―Έ μ€λ λλ νλμ μμ λ¨μμ΄λ€ μ start()μΌκΉ? μλ¬Έμ λ³΄ν΅ μλ°μμ μ€λ λλ₯Ό ꡬνν λ run() λ©μλλ₯Ό μ€λ²λΌμ΄λνμ¬ μ€λ λκ° μνν λ‘μ§μ μμ±ν¨ κ·Όλ° μ μ€λ λμ μ€νμ run() νΈμΆμ΄ μλ, start() νΈμΆμΌκΉ? λ§μ½μ run()μ νΈμΆνλ©΄ μ€λ λκ° λμνμ§ μμκΉ? μλλ€. ..