Java (12) μΈλ€μΌν 리μ€νΈν μλ°[Java] μ μΆλ ₯ Stream μ΄ν΄νκΈ° βΆInputStream / Sytem.in.read() ImputStreamμ μ¬μ©μμ μ λ ₯μ λ°μ μ μλ μν μ νλ€. μ¬μ©μ μ λ ₯μ μμ£Ό μ°μ΄λ ν΄λμ€μΈ Scannerμ λ€λ₯Έ λμμ 보μ΄λλ°, κ°μ₯ ν° νΉμ§μ 1byte λ¨μλ‘ μ λ ₯μ λ°μμ¨λ€λ μ μ΄λ€. Sytem.in.read()μ μ¬μ©μ μ λ ₯μ μμ μ μ₯νλ λ²νΌ(Buffer)μμ μ μ₯λ κ°μ νλμ© κ°μ Έμ¨λ€. μ΄ read()μ return κ°μ byteλ¨μμ λ°μ΄ν° νΉμ -1(λ²νΌμ κ°μ΄ μμ λ)μ΄λ€. βΆμμ€ν€μ½λ κ°μΌλ‘ μ μ₯ read() λ©μλλ‘ λ¦¬ν΄ν κ°μ λ³μμ μ μ₯νκ² λ ν λ°, μ΄λ μ¬μ©μ μ λ ₯ κ°μ λ¦¬ν΄ κ°μΈ byteλ¨μ(0~255)μ λ§μΆμ΄ μμ€ν€μ½λ κ°μ μ μ₯νκ² λλ€. λ³μ aμ μ¬μ©μ μ λ ₯μΌλ‘ λ¬Έμ 'a'λ₯Ό λ°μΌλ©΄ λ¬Έμ 'a.. μλ°[Java] μΈν°νμ΄μ€[Interface] μ¬μ©κ³Ό μ΄μ βΆ μΈν°νμ΄μ€(Interface) λ? μλ°μμ μ 곡νλ μΈν°νμ΄μ€λ, μΆμ ν΄λμ€μ λ§μ°¬κ°μ§λ‘ μΆμλ νμ λ§λ€μ΄ κ°λ°μ νΌμ μ΄ μκ²λ λμμ£Όλ μν μ νλ κ°μ²΄μ΄λ€. νμ μ νλ κ°λ°μλ€λΌλ¦¬μ μνν μμ¬μν΅μ μν΄μ μμ±λ κ°λ μΌλ‘ μΈν°νμ΄μ€λΌλ μ΄λ¦μ κ°μ§λ κ² κ°λ€. βΆ μΆμ ν΄λμ€μ 무μμ΄ λ€λ₯ΌκΉ? μΆμ ν΄λμ€λ νΈλ¦¬ νμμΌλ‘ μμ ν΄λμ€μ νμ ν΄λμ€λ‘ λλμ΄μ§λ νΈλ¦¬ ꡬ쑰μ΄λ€. νμ ν΄λμ€λ μμ ν΄λμ€μμ μΆμνμν¨ μμ±μ νΉμ λ©μλλ₯Ό μ μνλ©΄μ λ ꡬ체νλμ΄κ°λ€. λ°λ©΄μ, μΈν°νμ΄μ€λ νΈλ¦¬ ꡬ쑰μ κ°μ μμ§μ κ΅¬μ‘°κ° μλ μνμ ꡬ쑰λ₯Ό κ°μ§κ² λλ€. μμ§μ ꡬ쑰λ₯Ό κ°λ μΆμ ν΄λμ€λ νλμ μμ ν΄λμ€μκ²λ§ μμλ°μ μ μμ§λ§, μνμ ꡬ쑰μ μΈν°νμ΄μ€λ νλμ ν΄λμ€κ° μ¬λ¬ μΈν°νμ΄.. μλ°[Java] μ κ·Ό μ μ΄μ[Access modifier] μλ°μ μ κ·Ό μ μ΄μ default / public(package) / private / protected / static / final βΆ default(package) κ°μ₯ κΈ°λ³Έμ μΈ μ κ·Ό μ μ΄μλ‘ μλ΅μ΄ κ°λ₯νλ€. => μ κ·Ό μ μ΄μλ₯Ό μλ΅νλ©΄ defaultλ‘ μ€μ λλ€. defaultλ κ°μ ν¨ν€μ§ λ΄μ μλ classλΌλ©΄ μ κ·Όμ΄ κ°λ₯νλ€. 1λ² ν¨ν€μ§μ 1λ² ν΄λμ€λ₯Ό μ μνμλ€. 2λ² ν¨ν€μ§λ₯Ό λ§λ€κ³ 2λ² ν΄λμ€λ₯Ό λ§λ€κ³ 2λ² ν΄λμ€μ 1λ² ν΄λμ€λ₯Ό λΆλ¬μ€κΈ°(import)λ₯Ό νμ λ, μ€λ₯ λ°μ => κ°μ ν¨ν€μ§ μμμλ§ λΆλ¬μ€κΈ° κ°λ₯ βΆ public μ΄λ¦μ²λΌ μ΄λμλ λΆλ¬μ¬ μ μλ€. λ€λ₯Έ ν¨ν€μ§ μμ λ€λ₯Έ ν΄λμ€μμλ λΆλ¬μ μ¬μ© κ°λ₯νλ€. testPackage1 ν¨ν€μ§μ μλ TestClass2 .. μλ°(Java) μ¬μ©μ μ /μΆλ ₯κ³Ό λ²νΌ(butter) νλ‘κ·Έλ¨μ μ¬μ©νλ€ λ³΄λ©΄ μ¬μ©μ μ λ ₯μ λ°λ κ²½μ°κ° λ§λ€. cμΈμ΄λ javaμ κ²½μ° μ¬μ©μ μ λ ₯μ λ°μ λ, λ²νΌ(buffer)λΌλ λ μμ κ°μ μμλ‘ μ μ₯ν΄λμλ€κ° νλ²μ λ³μμ μ μ₯νλλ° μ«μμ λ¬Έμκ° λ€λ₯΄κ² λμν΄μ μ΄μν μλν λ°μ λ€λ₯΄κ² λκΈ°λ νλ€. βΆ λ²νΌ(buffer)μ μ΄ν΄ μΌλ¨, μ λ²νΌλΌλ κ²μ΄ μ‘΄μ¬νλμ§λΆν° μμμΌν κ² κ°λ€. μ»΄ν¨ν°μ λ°λΌ λ€λ₯΄κ² μ§λ§ μΌλ°μ μΈ μ»΄ν¨ν°(κ°μ μ©)λ 1μ΄μ μ½ 8μ² ~ 1μ΅ λ² μ λμ μ°μ°μ μ²λ¦¬ν μ μλ€κ³ νλ€. λ§μ½, μ»΄ν¨ν°κ° μ¬μ©μμκ² μ 보λ₯Ό μ λ ₯ λ°μμΌν λ, μ°λ¦¬κ° μ 보λ₯Ό λͺ¨λ μ λ ₯νκΈ°λ₯Ό κΈ°λ€λ €μΌ νλ€λ©΄, μ°λ¦¬κ° 1 / 1μ΅ μ΄ μμ νλμ κ°μ μ λ ₯νμ§ μλ ν μ»΄ν¨ν°λ κ·Έλμ κ³μ λκΈ°νκ³ μμ΄μΌ νλ€. CPUμ μ₯μμλ μν°μ§λ μΌμ΄ μλ.. μ΄μ 1 2 λ€μ