[C#] Shadoing

Learning 

When: 1학년 9월 6일

 

How: 

수업 시간에 배웠는데, 현상에 대해선 조금 알고 있었지만, 정확한 개념, 명칭이 있는지도 몰랐고 스코프라는 말도 몰랐기에 정리할 겸 공부하게 되었습니다.

 

Understanding:

  • Shadoing : shadoing은 변수나 메서드 같은 멤버의 이름이 겹쳐 더 넓은 스코프,
    즉 더 넓게 사용할 수 있는 범위의 멤버가 가려지는 현상을 말합니다. 쉽게 이해하는 방법은
    이것을 머속으로 떠올리면 되는데, 책상에 종이가 있었는데 또 다른 종이가 그 위를 덮어서
    그 위치에 있는 종이가 가려지고 종이를 한 장 가져오라고 했을 때 자연스럽게 위에 있는 종이를
    가져오게 되는 상황이라고 생각하시면 됩니다. 아래의 종이를 가져오라고 시켜
    아래의 종이를 가져오게 하는 방법도 있지만(this 키워드) 일반적으로는 위의 종이를 가져옵니다.
  • 예시 코드 : 아래의 코드에선 a가 Program 클래스의 스코프에서 선언되었고,
    그보다 작은 스코프인 Main 메서드에서 a가 또 선언되었습니다. 여기서 Main의 a가 Program의 a를
    가렸다고 생각하시면 됩니다.
internal class Program
{
    int a = 1;

    void Main(string[] args)
    {
        int a = 10;

        Console.WriteLine(a); // 10이 출력됩니다.
    }
};

 

Result: 어느 정도 알고는 있었기 때문에 따로 공부하지 않고, 가끔 갈리는 현상이었는데 수업 시간에 제대로 들으니, 개념이 딱 잡히는 느낌이라 좋았습니다.

'C#' 카테고리의 다른 글

[C#] Obscuring  (0) 2025.09.08
[C#] Hiding  (3) 2025.09.07
[C#] switch 식  (0) 2025.09.02
[C#] 패턴 매칭 (목록 패턴)  (0) 2025.09.01
[C#] 패턴 매칭 (var, 무시)  (1) 2025.08.31