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 |