[C#] this, this(), base, base()
2021. 11. 3. 11:37
thisμ this()
thisλ κ°μ²΄κ° μμ μ μ§μΉν λ μ¬μ©νλ ν€μλμ΄λ€.
κ°μ²΄ μΈλΆμμλ κ°μ²΄μ νλλ λ©μλμ μ κ·Όν λ κ°μ²΄μ μ΄λ¦μ μ¬μ©νλ€λ©΄
κ°μ²΄ λ΄λΆμμλ μμ μ νλλ λ©μλμ μ κ·Όν λ this ν€μλλ₯Ό μ¬μ©νλ€.
- this.name : ν΄λμ€μ νλ
- name : λ©μλμ 맀κ°λ³μ
class NameClass
{
private string name;
public void SetName(string name)
{
this.name = name;
}
}
this()λ μκΈ° μμ μ μμ±μλ₯Ό κ°λ¦¬ν¨λ€.
맀κ°λ³μμ λ°λΌ μμ±μλ₯Ό μ€λ²λ‘λ©ν λ
μμ±μμ μ½λ μμ this()λ₯Ό μ μΈνμ¬ λ€λ₯Έ μμ±μλ₯Ό νΈμΆνλ€.
- this() : MyClass() νΈμΆ
- this(b) : MyClass(int b) νΈμΆ
class MyClass
{
int a, b, c;
public MyClass()
{
this.a = 123;
}
public MyClass(int b) : this()
{
this.b = b;
}
public MyClass(int b, int c) : this(b)
{
this.c = c;
}
}
baseμ base()
thisμ this()μ²λΌ λ ν΄λμ€κ° μμκ΄κ³μΌ λ
μμ ν΄λμ€κ° λΆλͺ¨ ν΄λμ€μ κ°μ²΄λ μμ±μμ μ κ·Όν κ²½μ° base ν€μλλ₯Ό μ¬μ©νλ€.
class BaseClass
{
protected string name;
public BaseClass(string name)
{
this.name = name;
}
}
class MyClass : BaseClass
{
public MyClass(string name) : base(name)
{
Console.WriteLine($"base name : {base.name}");
}
}
728x90
'π£μΈμ΄ > C#' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C#] νλ‘νΌν° : get, set (0) | 2021.11.03 |
---|---|
[C#] μ κ·Ό νμ μ : public, protected, private, internal, protected internal (0) | 2021.11.03 |
[C#] params : κ°λ³ κΈΈμ΄ λ§€κ° λ³μ (0) | 2021.11.03 |
[C#] ref : μ°Έμ‘°μ μν 맀κ°λ³μ μ λ¬ (0) | 2021.11.03 |
[C#] λΉνΈ μ°μ°μ : <<, >>, &, |, ^,~ (0) | 2021.11.02 |