λͺ©λ‘π₯ BE λ°±μλ (118)
Bibi's DevLog π€π
λͺ¨λ modul μΆμ² : λͺ¨λ module μ΄λ?. κ°μ¬ν©λλ€πβοΈ λͺ¨λμ ν κ°μ§ μΌμ μννλ κΈ°λ₯μ ꡬμ±μμλΌκ³ ν μ μλ€. λ μκ³ μ΄ν΄ν μ μλ λ¨μλ‘ λλμ΄μ§ κ². κ·Έ μμ²΄λ‘ νλμ μμ ν κΈ°λ₯μ μνν μ μλ λ 립λ μ€μ²΄ 본체μμ λΆλ¦¬λμ΄ μμ λΆλΆμΌλ‘ μ κΈ°μ μΌλ‘ ꡬμ±λμ΄ μλ€κ°, νμν λ 본체μ ν©λ₯νμ¬ κ·Έ κΈ°λ₯μ μνν μ μλ κ² λͺ¨λμ νΉμ§ Unity(ν κ°μ§ μΌλ§ μν), Smallness(κ°λ¨λͺ λ£), Simplicity(λ¨μμ±), Independency(λ 립μ±) μ΄ μλ€. λͺ¨λνμ μ₯μ μμ , μ¬μ¬μ©μ±, μ μ§κ΄λ¦¬κ° μ©μ΄νλ€
JUnitμ κ°λ λ° assert λ©μλ(λ¨μ λ¬Έ), μ΄λ Έν μ΄μ μΆμ² : λ§ν¬1, λ§ν¬2, λ§ν¬3, λ§ν¬4. κ°μ¬ν©λλ€πβοΈπβοΈ JUnitμ΄λ? μλ°λ₯Ό μν λ¨μ ν μ€νΈ λΌμ΄λΈλ¬λ¦¬(μ€νμμ€)μ΄λ€. μλ° μ ν리μΌμ΄μ μ λν λ¨μ ν μ€νΈλ₯Ό μ½κ² ν΄ μ£Όλ ν μ€νΈμ© νλ μμν¬λΌκ³ μ΄ν΄νλ©΄ λλ€. org.junit λ¨μ λ¬Έ (assert...())μΌλ‘ ν μ€νΈ μΌμ΄μ€μ μνκ²°κ³Όλ₯Ό νλ³ν΄ μλ €μ€λ€. μ΄λ Έν μ΄μ μΌλ‘ ν μ€νΈκ° κ°κ²°ν΄μ§λλ‘ μ§μνλ€. ν μ€νΈ κ²°κ³Όλ₯Ό Testν΄λμ€λ‘ λ¨κΉμΌλ‘μ¨ ν μ€νΈ historyλ₯Ό μ μ₯ν μ μλ€. λ¨μ ν μ€νΈ Unit Testλ? λͺ¨λ ν¨μμ λ©μλμ λν ν μ€νΈ μΌμ΄μ€ test cateλ₯Ό μμ±νλ μ μ°¨. μμ€μ½λμ νΉμ λͺ¨λμ΄ μλλλ‘ μ νν λμνλμ§ κ²μ¦νλ€. System.out...
μ κ·Όμ μ΄μ Access modifier : ν΄λμ€ μΈλΆμμμ ν΄λμ€μ λν μ κ·Όμ μ΄λ μ λκΉμ§ νμ©ν μ§ μ§μ ν μ μλ μλ° μμ½μ΄. κ°μ²΄μ§ν₯ - μ 보 μλ(data hiding) : μ¬μ©μκ° κ΅³μ΄ μ νμ μλ μ 보λ μ¬μ©μλ‘λΆν° μ¨κΈ΄λ€. μ¬μ©μλ μ΅μνμ μ 보λ§μΌλ‘ νλ‘κ·Έλ¨μ μμ½κ² μ¬μ©ν μ μλ€. μλ°λ μ 보μλμ ꡬ체ννκΈ° μν΄ μ κ·Όμ μ΄μλΌλ κΈ°λ₯μ μ 곡νλ€. ν΄λμ€, λ©μλ, μΈμ€ν΄μ€ λ³μ, ν΄λμ€ λ³μ μ μΈμ μ¬μ©νλ€. private < default(package-private) < protected < public μμΌλ‘ μ κ·Ό νμ© λ²μκ° λλ€. private ν΄λΉ ν΄λμ€ λ΄μμλ§ μ κ·Ό κ°λ₯ ν΄λΉ κ°μ²΄μ public λ©μλλ₯Ό ν΅ν΄μλ§ μ κ·Ό κ°λ₯ ν΄λμ€ λ΄λΆμ μΈλΆ λμμ ꡬνν λ μ¬μ©..
κΈ°λ³Έμμ±μ ('μλ°μ μ ' μ μ°Έκ³ νλ©° λ΄μ©μ μ 리νμ΅λλ€) μμ±μ constructor : ν΄λμ€μ κ°μ²΄λ₯Ό μμ±νλ (κ±°μ) μ μΌν λꡬ. λ©μλμ μ μΈ λ°©μμ΄ λΉμ·νλ€ μ°¨μ΄μ ) 리ν΄νμ μ΄ μκ³ , μ΄λ¦μ΄ ν΄λμ€ μ΄λ¦κ³Ό κ°λ€. μμ±μμ 리ν΄νμ μ νμ κ·Έ ν΄λμ€μ κ°μ²΄μ΄κΈ° λλ¬Έμ 리ν΄νμ μ΄ μλ€. μμ±μ μ΄λ¦μ΄ ν΄λμ€ μ΄λ¦κ³Ό κ°μμΌ μ»΄νμΌλ¬κ° μμ±μλΌκ³ μΈμνλ€. μμ±μλ μΈμ€ν΄μ€ λ³μμ λ©μλ μ¬μ΄μ μ μΈν΄μΌ νλ€. μμ±μμ κ°―μ) ν΄λμ€μ κ°μ²΄λ₯Ό λ νΈνκ² λ§λ€κΈ° μν΄, 맀κ°λ³μλ₯Ό λ¬λ¦¬ν΄ μ¬λ¬ μμ±μλ₯Ό λ§λ€ μ μλ€. κΈ°λ³Έ μμ±μ Default Constructure : λ§€κ° λ³μκ° μλ μμ±μλ₯Ό κΈ°λ³Έ μμ±μλΌκ³ νλ€. κΈ°λ³Έ μμ±μλ 'λ€λ₯Έ μμ±μκ° μμ κ²½μ°' κΈ°λ³ΈμΌλ‘ ..
μμμ enum μμ Constant : λ³μμ λ°λλ§. λ³νμ§ μλ κ°μ λ»ν¨. νλ‘κ·Έλ¨μ μ§λ©΄μ λ°λ μΌμ΄ μλ κ°μ΄ μλ€λ©΄, λ³μκ° μλ μμλ‘ μ μΈνλ κ²μ΄ μ’λ€. μλ°μμ μμ μ μΈ final static μλ£ν λλ¬Έμμ΄λ¦ = μμκ° final : (νμ) λ³μμ μ μΈ μ, ν λ² ν λΉνλ©΄ μμ μ΄ λΆκ°λ₯ν¨. static : λͺ¨λ λ³μκ° μ κ·Ό κ°λ₯ν¨ λλ¬Έμμ΄λ¦ : μμλͺ μ μμμμ λνλ΄κΈ° μν΄ μ 체 λλ¬Έμλ‘ νννλ€(APPLEμ²λΌ) μμκ° : finalλ‘ μ μΈν λ³μ/μμλ μ μΈκ³Ό λμμ κ°μ μ§μ ν΄ μ£Όμ΄μΌ νλ€. enum μ΄κ±°ν : μμμ μ§ν©μ λνλ΄λ κ°μ²΄ (enumeration, μ΄κ±°) νμ μ΄λ©΄μ ν΄λμ€μ μΌμ’ μ΄κΈ°λ νλ€. (μ΄κ±°ν ν΄λμ€) class λμ enumμ μ¬μ©νλ©΄ enumν΄λ..
JVM - Java Virtual Machine (JVMμ΄λ) : μλ° μμ©νλ‘κ·Έλ¨μ μ€ννλ μ€ν μμ§. JVMμ JREμ μΌλΆμ΄λ€. JRE : Java Runtime Environment (νμ λΌμ΄λΈλ¬λ¦¬) μλ°μ implementationμ΄ JVMμ΄λ€. implementation : λͺ μΈμλ₯Ό λμκ°κ² νλ κ². .javaνμΌ : μ°λ¦¬κ° μλ° μΈμ΄λ‘ μ½λ©ν νμΌ .classνμΌ : .javaνμΌμ javacλͺ λ ΉμΌλ‘ Java μ»΄νμΌλ¬κ° μ»΄νμΌν νμΌ. λ°μ΄νΈμ½λλ‘ λμ΄ μλ€ ν΄λμ€ νμΌμ΄ μ¬λ¬ λ¨κ³λ₯Ό κ±°μΉλ©° μλ° νμΌμ΄ μ€νλλ κ²μ΄λ€. JVMμ ꡬμ±μμ(3κ°μ§) 1.Class Loader Sybsystem ν΄λμ€ λ‘λ νμμμ€ν νμΌμ μ€ννλ©΄ ν΄λμ€ λ‘λκ° λ©λͺ¨λ¦¬μ ν΄λμ€λ₯Ό λ‘λνλ€. loading..
νμΌ λμ κ°νμ μΆκ°ν΄μΌ νλ μ΄μ POSIX(ν¬μ§μ€, portable operating system interface) λͺ μΈκ° κ·Έλ¬νκΈ° λλ¬Έμ΄λ€. μλ‘ λ€λ₯Έ OSκ°μ μ΄μμ±μ΄ λμ νλ‘κ·Έλ¨μ κ°λ°νκΈ° μν μ ν리μΌμ΄μ μΈν°νμ΄μ€ κ·κ²© νμ λμ κ°νμ΄μ΄μΌ νλ€. νμΌμ νμ μ§ν©μ΄λ©°, νμ λ°λμ κ°νμΌλ‘ λλλ€. (μ¦ νμΌμ λ§μ§λ§ νλ κ°νμΌλ‘ λλκΈ° λλ¬Έμ, νμΌ λμ κ°νμ΄ μκ² λλ€) νΉν νμΌ λ§μ§λ§μ κ°νμ΄ μμΌλ©΄, μ¬λ¬ νμΌμ΄ μμ λ λ νμΌ κ° μ°¨μ΄λ₯Ό μκΈ° μ΄λ ΅λ€. μ΄λ° μ΄μ λ‘ μ»΄νμΌλ¬ λ° κΉνλΈλ νμΌ λ§μ§λ§μ κ°νμ΄ μμΌλ©΄ κ²½κ³ λ₯Ό λμ°κ² λμ΄ μλ€.
λ¬Έμ IntelliJμμ ν μ€νΈ ν΄λμ€κ° μ λλ‘ μμ±λμ§ μλ μ€λ₯κ° λ°μνλ€. μν© ) Pawnμ΄λΌλ μ΄λ¦μ ν΄λμ€λ₯Ό λ§λ€κ³ , ν΄λΉ ν΄λμ€μ ν μ€νΈ ν΄λμ€λ₯Ό λ§λ€μ΄μΌ νλ€. ν΄λμ€λͺ μμ μ°ν΄λ¦ ν Generate - Test λ‘ ν μ€νΈ νμΌμ λ§λλ €κ³ νμ μλμ κ°μ Faild to Create Class - Cannot Create Class 'PawnTest'μλ¦Όμ΄ λ¨κ³ , Classμμ΄μ½ ννκ° μλ μΌλ° νμΌ μμ΄μ½ ννμ PawnTest.java νμΌμ΄ μμ±λμλ€. λ§λ€μ΄μ§ PawnTest.javaμ μ½λλ₯Ό μ λ ₯ν΄λ ν΄λμ€ νμΌμ΄λΌλ μΈμμ΄ λμ§ μλμ§, μλ¬΄λ° μ½λ νμ΄λΌμ΄νΈλ λνλμ§ μλ μνμ΄λ€. μ΄μν κ²μ, κ°μ μμ€ν΄λ λ° ν μ€νΈμ½λ ν΄λμ μμΉν λ€λ₯Έ ν΄λμ€&ν μ€νΈ..