2020. 11. 19. 16:30γμ 곡 κ³Όλͺ©/μλμ° νλ‘κ·Έλλ°
C# - νμ ν΄λμ€μ μΈν°νμ΄μ€(2)
μΈν°νμ΄μ€
- ꡬνλμ§ μμ λ©€λ²λ€λ‘ ꡬμ±λ μ€κ³μ ννμ΄λ€. νλ§ μ‘μλμ κ²μ΄λΌκ³ μκ°νλ©΄ νΈν κ² κ°λ€. C#μμλ μΈν°νμ΄μ€λ‘ λ€μ€ μμμ μ§μνκΈ° λλ¬Έμ μ€μν κ°λ μ΄ λλ€.
μΈν°νμ΄μ€μ 첫κΈμλ Iλ‘ μμνλκ² κ΄λ‘μ΄λ©° μΈν°νμ΄μ€ λͺΈμ²΄λ ꡬνλμ§ μμ λ©μλ, νλ‘νΌν°, μΈλ±μ, μ΄λ²€νΈκ° λ μ μλ€.
interface IMethod{
void Insert(string str); //λ©μλ
int Count {get;set;} //νλ‘νΌν°
string this[int index]{get;set;} //μΈλ±μ
event MyEventHandler changed; //μ΄λ²€νΈ
}
μΈν°νμ΄μ€μμ μ μΈλ λ©€λ²λ€μ λͺ¨λ public μμ±μ κ°μ§λ©° staticμ μ¬μ©ν μ μλ€.
κ·Έλ¦¬κ³ μΈν°νμ΄μ€λ μΆμν΄λμ€μ λ¬λ¦¬ overrideλ₯Ό κΈ°μ νμ§ μμλ λλ€.
μΈν°νμ΄μ€μ νμ₯
μΈν°νμ΄μ€λ μμ μ²λΌ νμ₯ν μκ° μλλ° μ΄λ κΈ°μ‘΄μ μΈν°νμ΄μ€λ₯Ό λ² μ΄μ€ μΈν°νμ΄μ€, μλ‘κ² μ μΈλ μΈν°νμ΄μ€λ₯Ό νμ μΈν°νμ΄μ€λΌκ³ νλ€.
μΈν°νμ΄μ€λ₯Ό μμλ°μ ν΄λμ€κ° μ μΈλμμ λ μΈν°νμ΄μ€μ λ©μλλ€μ λ³Έμ§μ μΌλ‘ μΆμ λ©μλμ΄κΈ° λλ¬Έμ λͺ¨λ ꡬννμ§ μμΌλ©΄ κ·Έ ν΄λμ€λ μΆμ ν΄λμ€κ° λλ€.
μΈν°νμ΄μ€ μμ
using System
interface IRectangle {
void Area(int width, int height);
}
interface ITriangle {
void Area(int width, int height);
}
class Shape : IRectange, ITriangle {
void IRectange.Area(int width, int height){
Console.WriteLine(width*height);
}
void ITriangle.Area(int width, int height){
Console.WriteLine(width*height/2);
}
}
class ImpleApp{
public static void Main(){
Shape s = new Shape();
// s.Area(10,10);
// s.IRectangle.Area(10,10); //error
((IRectange)s).Area(20,20); //μΊμ€νΈ ν λ©μλ νΈμΆ
((ITriangle)s).Area(20,20);
IRectangle r = s; //Shapeκ°μ²΄ μμ± ν μΈν°νμ΄μ€ μλ£νμΌλ‘ μΊμ€νΈ
ITriangle t = s;
r.Area(30,30);
t.Area(30,30);
}
}
'μ 곡 κ³Όλͺ© > μλμ° νλ‘κ·Έλλ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
C# κ³ κΈ νλ‘κ·Έλλ° - μ νΈλ¦¬λ·°νΈ (0) | 2020.11.27 |
---|---|
C# - κ³ κΈ νλ‘κ·Έλλ°(μ λ€λ¦) (2) | 2020.11.27 |
C# - νμ ν΄λμ€μ μΈν°νμ΄μ€ (0) | 2020.11.19 |
C# - 컨νΈλ‘€ (2) | 2020.10.06 |
C# - μ°μ°μμ λ°μ± (0) | 2020.10.06 |