Learning
When: 1학년 9월 7일
How:
저번 글인 Shadoing과 관련이 있어 공부하다가 또 나온 내용이기도 하고 많이 어려운 내용은 아닌 것 같아서 멤버의 이름과 관련된 현상에 대해 조금 더 공부하게 되었습니다.
Understanding:
- Hiding : Hiding은 Shadoing과 같이 이름이 겹쳐 생기는 현상인데, 이 현상은 부모의 멤버의 이름을
자식의 멤버가 가렸을 때 발생합니다. 원래 부모의 protected, public 등의 변수는 자식 클래스에서
보이진 않아도 접근은 할 수 있기 때문에 같은 이름을 쓰게 되면 오류가 나지는 않지만,
자식 클래스의 멤버가 부모 클래스의 멤버를 가려 경고가 나오게 됩니다. 여기서 자식 객체를
따로 만들고 싶다면 new 키워드로 new int a = 1; 이런 식으로 변수를 선언하면 경고가 더 이상 뜨지 않습니다.
internal class Program : A
{
new string a = "1";
}
public class A
{
public int a = 0;
}
Result: 하이딩, 쉐도잉, 업스큐어링 등, 변수의 이름에 관 현상이 다양해서 좀 햇갈리지만, 어렴풋이 알았던 개념을 확실히 잡을 수 있어서 좋았던 것 같습니다.
'C#' 카테고리의 다른 글
| [C#] 죽음의 다이아몬드에 대한 개인적인 생각 (반박 환영) (0) | 2025.09.12 |
|---|---|
| [C#] Obscuring (0) | 2025.09.08 |
| [C#] Shadoing (0) | 2025.09.06 |
| [C#] switch 식 (0) | 2025.09.02 |
| [C#] 패턴 매칭 (목록 패턴) (0) | 2025.09.01 |