λͺ©λ‘π₯ BE λ°±μλ/Java μλ° (51)
Bibi's DevLog π€π
μ κ·Όμ μ΄μ 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..
λ¬Έμ IntelliJμμ ν μ€νΈ ν΄λμ€κ° μ λλ‘ μμ±λμ§ μλ μ€λ₯κ° λ°μνλ€. μν© ) Pawnμ΄λΌλ μ΄λ¦μ ν΄λμ€λ₯Ό λ§λ€κ³ , ν΄λΉ ν΄λμ€μ ν μ€νΈ ν΄λμ€λ₯Ό λ§λ€μ΄μΌ νλ€. ν΄λμ€λͺ μμ μ°ν΄λ¦ ν Generate - Test λ‘ ν μ€νΈ νμΌμ λ§λλ €κ³ νμ μλμ κ°μ Faild to Create Class - Cannot Create Class 'PawnTest'μλ¦Όμ΄ λ¨κ³ , Classμμ΄μ½ ννκ° μλ μΌλ° νμΌ μμ΄μ½ ννμ PawnTest.java νμΌμ΄ μμ±λμλ€. λ§λ€μ΄μ§ PawnTest.javaμ μ½λλ₯Ό μ λ ₯ν΄λ ν΄λμ€ νμΌμ΄λΌλ μΈμμ΄ λμ§ μλμ§, μλ¬΄λ° μ½λ νμ΄λΌμ΄νΈλ λνλμ§ μλ μνμ΄λ€. μ΄μν κ²μ, κ°μ μμ€ν΄λ λ° ν μ€νΈμ½λ ν΄λμ μμΉν λ€λ₯Έ ν΄λμ€&ν μ€νΈ..
TDDμ ν μ€νΈμ½λ TDD (Test-Driven Development, ν μ€νΈ μ£Όλ κ°λ°). μλ° mainλ©μλ : νλ‘κ·Έλ¨μ μμνκ³ , ꡬνν νλ‘κ·Έλ¨μ ν μ€νΈνλ μ©λλ‘ μ¬μ©νλ€. production code : νλ‘κ·Έλ¨ κ΅¬νμ λ΄λΉνλ μ½λ test code : production codeκ° μ μ λμνλμ§λ₯Ό νμΈνλ μ½λ but.. mainλ©μλλ‘ ν μ€νΈνλ κ²½μ°μ λ¬Έμ μ ν΄λμ€ λ° mainλ©μλκ° μ»€μ Έμ 볡μ‘λκ° μ¦κ°νλ€ ν λ©μλμ μ¬λ¬ ν μ€νΈμ½λκ° μμ΄ μ΄λ€ ν μ€νΈκ° μ΄λ£¨μ΄μ§ κ²μΈμ§ μκΈ° μ΄λ ΅λ€ ν μ€νΈ κ²°κ³Όλ₯Ό μ½μμμ μΌμΌμ΄ μ¬λμ΄ νμΈν΄μΌ νλ€ ν μ€νΈμ½λκ° pruduction codeμ ν¨κ» λ°°ν¬λ μ μλ€ JUnitκ³Ό AssertJ JUnit : ν μ€νΈμ½λλ₯Ό μ½κ² μ¬μ©ν μ μλ μλ° ..
μλ°μ μ 26μ₯ νμΌ I/O I/Oλ? Iλ input, Oλ outputμ μ½μ. μ λ ₯κ³Ό μΆλ ₯μ ν΅μΉν¨. μ©λ νμΌμ μ½κ±°λ μ μ₯ν λ(μΈ λ) λ€λ₯Έ μλ²/λλ°μ΄μ€λ‘ νμΌμ λ³΄λΌ λ JVMκΈ°μ€μΌλ‘ inputκ³Ό outputμ μκ°νλ©΄ λ¨. μ½μ λλ input νμΌλ‘ μ°κ±°λ μΈλΆλ‘ μ μ‘ν λλ output java.ioν¨ν€μ§μ μ€νΈλ¦Ό λ°μ΄νΈ κΈ°λ°μ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ μ€νΈλ¦Ό ν΄λμ€ μ 곡. *μλ°μμ μ€νΈλ¦Όμ΄λ ''λκΈ°μ§ μκ³ μ°μμ μΈ λ°μ΄ν°''λ₯Ό λ§ν¨ InputStream,OutputStream Reader, Writer ν΄λμ€ charκΈ°λ°μ λ¬Έμμ΄ νμΌμ μ²λ¦¬νλ ν΄λμ€. File ν΄λμ€ (java.io.File)μ Files ν΄λμ€(java.nio.File.Files) F..
[Java] Colorν΄λμ€ - RGBλ‘ μμ μ§μ νκΈ° Colorν΄λμ€λ μμ μ 보λ₯Ό λ΄λ ν΄λμ€μ΄λ€. staticμΌλ‘ μ μλ μμμ Color.red μ²λΌ μ¬μ©ν μλ μμ§λ§, staticμΌλ‘ μ μλμ§ μμ μμμ RGBκ°μ μ§μ ν΄ λ§λ€μ΄ μ¬μ©ν μλ μλ€. Colorν΄λμ€μ staticμΌλ‘ μ μλ μμ BLACK, BLUE, DARK_GRAY, GRAY, GREEN, LIGHT_GRAY, ORANGE, PINK, RED, WHITE, YELLOW CYAN : νλμ MAGENTA : μνμ. μ§ν νν¬μ. RGBλ‘ μ¬μ©μμ§μ μμ λ§λ€κΈ° μνλ μμμ RGB μμμ ꡬκΈλ§μΌλ‘ μ§μ μ°Ύμλ λκ³ , HTML Color Pickerμμλ μ°Ύμ μ μλ€. Color color = new Color(int r..