[C#] Hiding

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