μ‘°μνΈλμ μ€λΈμ νΈλ₯Ό μ½κ³ μ λ¨Έλ¦Ώμμ μλ λ΄μ©λ€μ μ 리νλ©° μμ±ν κΈμ λλ€.
νλ‘μμ μΆμνμ κΈ°λ₯ λΆν΄
π‘ νλ‘μμ λ λ°λ³΅μ μΌλ‘ μ€νλκ±°λ κ±°μ μ μ¬νκ² μ€νλλ μμ λ€μ νλμ μ₯μμ λͺ¨μλμμΌλ‘μ¨ λ‘μ§μ μ¬μ¬μ©νκ³ μ€λ³΅μ λ°©μ§ν μ μλ μΆμν λ°©λ²μ΄λ€.
μ ν΅μ μΈ κΈ°λ₯ λΆν΄ λ°©λ²μ μμ€ν μ ꡬμ±νλ μ΅μμ κΈ°λ₯μ μ μνκ³ μμ λ¨κ³μ νμ κΈ°λ₯μΌλ‘ λΆν΄ν΄ λκ°λ λ°©λ²μ μ¬μ©νλ€.
π‘ μΈλΆνλ λ§μ§λ§ νμ κΈ°λ₯μ΄ νλ‘κ·Έλλ° μΈμ΄λ‘ ꡬνκ°λ₯ν μμ€μ΄ λ λκΉμ§ κ³μ λλ€.
νν₯μ νλ‘μμ μΆμνλ₯Ό ν΅ν΄ λ§λ νλ‘κ·Έλ¨μ λ€μκ³Ό κ°μ ꡬμ±μ΄ λλ€.
μ΅μμ κΈ°λ₯(){
μΈλΆκΈ°λ₯1();
μΈλΆκΈ°λ₯2();
μΈλΆκΈ°λ₯3();
..
}
μ΅μμ κΈ°λ₯μ μννκΈ° μν μ¬λ¬κ°μ μΈλΆκΈ°λ₯μ΄ νΈμΆλμ΄ μνλ μ΅μμ κΈ°λ₯μ μννλ κ΅¬μ‘°κ° λλ€.
λ¨, μ΄λ°μμΌλ‘ μ€κ³λ μμ€ν μ λ³νμ λ―Όκ°ν΄μ§λ€.
μ΅μμ κΈ°λ₯κ³Ό κ²°μ΄ λ€λ₯Έ κΈ°λ₯μ μΆκ°ν΄λ¬λΌκ³ μꡬλ°μμ λ, μ΅μμ κΈ°λ₯ λ©μλ μμ κΈ°λ₯μ μΆκ°νλ κ²λ§μΌλ‘ ν΄κ²°ν μ μμ΄μ§λ€.
μλ‘μ΄ μꡬμ¬νμ μμ°λ₯΄λ μ΅μμ κΈ°λ₯μ μλ‘ μ μνκ±°λ ꡬ쑰λ₯Ό λ°κΏμΌ κ°λ₯ν΄μ§κΈ° λλ¬Έμ λ³κ²½μ μ·¨μ½ν΄μ§ μ λ°μ μλ€.
π¨ λν, νν₯μ λ°©λ²μ μΈλΆκΈ°λ₯μ μμλ₯Ό κ³ μ μμΌλκ² λλ€.
μΈλΆκΈ°λ₯ 1κ³Ό μΈλΆκΈ°λ₯ 2μ νΈμΆ μμκ° μ΅μμ κΈ°λ₯μ μννλλ° μν₯μ μ£Όμ§ μλ κ²½μ°λ μμ§λ§, μ€κ³ κ³Όμ μμ μμλ₯Ό κ³ μ μμΌλ²λ¦¬κ² λλ€.
μ¦, μ΅μμ ν¨μλ₯Ό κΈ°μ€μΌλ‘ λ€λ₯Έ ν¨μλ€μ λ¬Έλ§₯μ κ°νκ² κ²°ν©μν€κΈ° λλ¬Έμ μμ€ν μ λ³κ²½μ μ·¨μ½νκ² λ§λ€κ³ μ΄ν΄νκΈ° μ΄λ ΅κ² λ§λ λ€.
λν, λ°μ΄ν°κ° λ³κ²½λμμ λ μΈλΆ κΈ°λ₯μ μ΄λ¦λ§μΌλ‘ λ³κ²½λ λ°μ΄ν°κ° μ¬μ©λ μΈλΆκΈ°λ₯μΈμ§ μ§κ΄μ μΌλ‘ νμ νκΈ° νλ€μ΄ ν¨μλ₯Ό μ΄μ΄μ νμΈν΄λ΄μΌνλ€.
νμ μΆμνμ μ μ°¨ μΆμν
class Employee{
public calculatePay(){
if(μ κ· μ§μ){
return κΈ°λ³ΈκΈ - (κΈ°λ³ΈκΈ * μλμΈμ¨);
}
if(μλ₯΄λ°μ΄νΈ μ§μ){
return κΈ°λ³ΈκΈ*μκ° - (κΈ°λ³ΈκΈ*μκ°)*μλμΈμ¨;
}
}
}
μμ κ°μ΄, μ κ·μ§μμΈ κ²½μ°μ μλ₯΄λ°μ΄νΈ μ§μμΈ κ²½μ° κΈ°λ³ΈκΈ κ³μ°μ λ€λ₯Έ λ°©μμΌλ‘ μννλ ν΄λμ€κ° μλ€.
물리μ μΌλ‘λ νλμ νμ μ΄μ§λ§ κ°λ μ μΌλ‘λ μ§μκ³Ό μλ₯΄λ°μ΄νΈ μ§μμ΄λΌλ λ κ°μ κ°λ³μ μΈ κ°λ μ ν¬κ΄νλ€.
νλμ νμ μ΄ κ΅¬μ²΄μ μΈ μ§μ νμ μ κ°μΆκΈ° λλ¬Έμ νμ μΆμνλΌκ³ λΆλ₯Ό μ μλ€.
interface Employee{
public calculatePay(){
}
}
class μ κ·μ§μ implements Employee{
private calculatePay(){
return κΈ°λ³ΈκΈ - (κΈ°λ³ΈκΈ * μλμΈμ¨);
}
}
class μλ₯΄λ°μ΄νΈμ§μ implements Employee{
private calculatePay(){
return κΈ°λ³ΈκΈ*μκ° - (κΈ°λ³ΈκΈ*μκ°)*μλμΈμ¨;
}
}
μμ κ°μ΄ λͺ μμ μΌλ‘ λκ°μ νμ μ μ μνκ³ μ€νΌλ μ΄μ μ κ°κ° μ μνκ³ λ νμ μ΄ κ³΅ν΅μΌλ‘ μ¬μ©λλ κΈ°λ₯μ λΆλͺ¨ν΄λμ€μ λκ³ μμλ°λλ‘ κ΅¬ννλ€.
ν΄λΌμ΄μΈνΈλ λΆλͺ¨ ν΄λμ€μ λ©μμ§λ₯Ό 보λ΄κ³ μ€μ ν΄λμ€κ° 무μμΈμ§μ λ°λΌ μ μ ν μ μ°¨κ° μ€νλλ€.
π‘ μ¦, κ²°λ‘ μ νμ μΆμνλ μ€νΌλ μ΄μ μ κΈ°μ€μΌλ‘νκ³ κ·Έ μμ νμ μ λ¬Άμλ€λ©΄, μ μ°¨ μΆμνλ νμ μ κΈ°μ€μΌλ‘ 곡ν΅λ μ€νΌλ μ΄μ μ λ¬Άλλ€.
λ°λΌμ, κ°μ²΄ μ§ν₯μ μ μ°¨ μΆμνκ° λλ€.
κ°μ²΄ μ§ν₯μμλ νμ λ³μλ₯Ό μ΄μ©ν 쑰건문μ λ€νμ±μΌλ‘ λ체νλ€.
λ§μ½, νμ μΆμνμμ μΌλ° μ§μ, μλ₯΄λ°μ΄νΈ μ§μ μΈμ λλ€λ₯Έ κ³μ½μ§ μ§μμ΄ μΆκ°λλ€κ³ νμ λ,
λ©μλμ ꡬνλΆλ₯Ό λ³κ²½ν΄μΌνμ§λ§
μ μ°¨ μΆμνμ κ²½μ° 'κ³μ½μ§ μ§μ'μ΄λΌλ μλ‘μ΄ ν΄λμ€λ₯Ό μΆκ°ν¨μΌλ‘μ ν΄κ²°ν μ μλ€.