09/05 (Mon)
μ½νλ¦° μλ²½ κ°μ΄λ - ν¨μ
μλ°μ λ¬λ¦¬ μ½νλ¦°μμμ ν¨μ νλΌλ―Έν°λ λΆλ³μ΄λ€.
μλ°μμλ λ©μλ νλΌλ―Έν°μ κ°μ΄ κ°λ³μ΄λ―λ‘, λ³κ²½νμ§ λͺ»νκ² ν λ €λ©΄ final μ§μ μ ν΄μΌ λΆλ³κ°μΌλ‘ μ¬μ©ν μ μμ§λ§, μ½νλ¦°μ νλΌλ―Έν°λ₯Ό λΆλ³ κ°μΌλ‘ κ°μ νλ€ (val, var λν νλΌλ―Έν° μμ νμν μ μλ€)
μ½νλ¦°μ κ°μ μν νΈμΆ μλ―Έλ‘ μ μ¬μ©νλ€. (call by-value)
ν¨μ νλΌλ―Έν° κ°μ νΈμΆνλ μͺ½μ μΈμλ₯Ό 볡μ¬ν¨μ μλ―Ένλ€. νΈμΆ μΈμλ‘ μ λ¬ν λ³μλ₯Ό λ³κ²½ν΄λ νΈμΆλ ν¨μ λ΄λΆμ νλΌλ―Έν° κ°μλ μν₯μ΄ μλ€λ λ»μ΄λ€. νμ§λ§ νλΌλ―Έν°κ° μ°Έμ‘°(λ°°μ΄ νμ λ±)μΈ κ²½μ°, νΈμΆν μͺ½μ λ°μ΄ν°λ κ·Έλλ‘ λ¨μμκ³ , μ΄ λ°μ΄ν°μ λν μ°Έμ‘°λ§ λ³΅μ¬λλ€.
ν¨μμ λ°ν νμ
μ νμ
μΆλ‘ μ΄ κ°λ₯νλ€.
νμ μΆλ‘ μ΄ κ°λ₯νμ§λ§ Unit νμ μ μ μΈνκ³ λ¦¬ν΄νμ μ λͺ μν΄μ€μΌ νλ€. ν¨μ λ³Έλ¬Έμ μ¬λ¬κ°μ returnμ΄ μ‘΄μ¬ν μμλλ°, λͺ¨λ λ°ν μ§μ μ λ°ν νμ μ μμλ΄κΈ° μ΄λ €μΈ μ μκΈ° λλ¬Έμ΄λ€. Unit μ μ μΈνκ³ λ¦¬ν΄νμ μ μ μΈ ν μ μλ λ°©λ²μ μμ΄ λ³Έλ¬Έ(expression-body) μΈ ν¨μλ€. λ¨μΌ μμΌλ‘λ§ ν¨μκ° κ΅¬νλ μ μμΌλ©΄ return κ³Ό μ€κ΄νΈλ₯Ό μ μΈνκ³ ν¨μλ₯Ό μμ±ν μ μλ€.
λ¬Έ(statement) κ³Ό μ(expression) μ μ°¨μ΄λ 무μμΈκ°?
μ
μ κ°μ λ§λ€μ΄λ΄λ©° λ€λ₯Έμμ νμ μμλ‘ κ³μ°μ μ°Έμ¬ ν μ μλ€.λ¬Έ
μ μμ μ λλ¬μΈκ³ μλ κ°μ₯ μμͺ½ λΈλ‘μ μ΅μμ μμλ‘ μ‘΄μ¬νλ©°, μλ¬΄λ° κ°λ λ§λ€μ΄ λ΄μ§ μλλ€ex) μλ°μμλ if-else λ statement μ΄λ€. μ½νλ¦°μμλ expression (κ°μ λ§λ€μ΄ λΌ μ μλ€) μΌλ‘ μ¬μ©λλ€.
μμΉ κΈ°λ° μΈμμ μ΄λ¦ λΆμ μΈμ
μλ°λ λ€λ₯Έ μΈμ΄μμλ μμΉ κΈ°λ° μΈμλ₯Ό λ리 μ°κ³ μλ€. ν¨μμ μμΉ κΈ°λ° μΈμλ ν¨μμ μ μν νλΌλ―Έν°λ€μ μμλλ‘ μ λ¬λλ μμ΄λ€. μ½νλ¦°μμλ μμΉ κΈ°λ° μΈμλ μ¬μ©κ°λ₯νλ©°, μ΄λ¦ λΆμ μΈμλΌκ³ λΆλ¦¬λ λ°©μλ μ 곡νλ€. νλΌλ―Έν° μΈμλ€μκ² μ΄λ¦μ λΆμ¬νλ©° μμμ μκ΄μμ΄ μΈμλ₯Ό μ λ¬ν μ μλ€.
μμΉ κΈ°λ° μΈμμ μ΄λ¦ λΆμ μΈμλ₯Ό νΌμ©ν΄μ μ¬μ©ν μλ μλ€. μ½νλ¦° 1.4 λ²μ μ΄μ μλ μ΄λ¦λΆμ μΈμλ₯Ό νλλΌλ μ¬μ©νκ²λλ©΄ λͺ¨λ μΈμλ€μλ μ΄λ¦μ λΆμ¬μΌ νλ€. νμ§λ§ μ½νλ¦° 1.4λ²μ μ΄νμλ μΈμλ€μ μμΉλ§ κ°λ€λ©΄, μ€κ°μ€κ° μ΄λ¦λΆμ μΈμλ₯Ό μ¬μ©ν μ μκ² λλ€. β» μλ μΈμκ° λ€μ΄κ°μΌ νλ μμΉμ μ΄λ£Έ λΆμ μΈμλ₯Ό μ§μ ν΄μΌ μ μμ²λ¦¬λλ©°, κ·Έλ¬μ§ μμ κ²½μ° μμΉκΈ°λ°μΈμ λ°©μ μ΄κΈλκ±°λ μ΄λ―Έ ν λΉλ μΈμλ₯Ό ν λΉνκΈ° λλ¬Έμ μ»΄νμΌ μλ¬κ° λ°μνλ€.
μλ° λ©μλμ λμΌνκ² μ½νλ¦° ν¨μλ μ€λ²λ‘λ©(Overloading) μ΄ κ°λ₯νλ€.
μ€λ²λ‘λ©μ΄λ κ°μ μ΄λ¦μ ν¨μλ₯Ό μ¬λ¬κ° μμ±ν μ μμμ μλ―Ένλ€. λ€λ§ μ»΄νμΌλ¬κ° μ΄λ€ ν¨μκ° νΈμΆλμλμ§λ₯Ό ꡬλΆν μ μλλ‘ κ° ν¨μμ νλΌλ―Έν° νμ μ΄ λ¬λΌμΌ νλ€.
μ»΄νμΌλ¬ μλ° μ€λ²λ‘λ© ν΄μ κ·μΉ
νλΌλ―Έν°μ κ°μμ νμ μ κΈ°μ€μΌλ‘ νΈμΆν μ μλ λͺ¨λ ν¨μλ₯Ό μ°Ύλλ€.
λ ꡬ체μ μΈ ν¨μλ₯Ό μ μΈνλ€ - κ·μΉ 1μμ μ νν ν보 λͺ©λ‘μμ μ΄λ€ ν¨μμ νλΌλ―Έν° νμ μ΄ λ€λ₯Έ ν¨μμ νλΌλ―Έν° νμ μ μμ νμ μΈ κ²½μ° μ΄ ν¨μλ λ€λ₯Έ ν¨μλ³΄λ€ λ ꡬ체μ μΈ ν¨μλ€. λ ꡬ체μ μΈ ν¨μκ° λͺ¨λ μ μΈλ λκΉμ§ μ΄ λ¨κ³λ₯Ό λ°λ³΅νλ€.
νλ³΄κ° νλλ‘ μμΆλλ©΄ μ΄ ν¨μκ° νΈμΆν ν¨μλ€. νλ³΄κ° λ μ΄μμ΄λ©΄ μ»΄νμΌ μ€λ₯κ° λ°μνλ€.
Last updated