[C#] Obscuring

Learning 

When: 1학년 9월 8일

 

How:

멤버의 이름으로 인해 타입이 가려지는 현상을 공부하던 중 Obscuring이라는 현상도 있어서 이것에 대해 공부하게 되었습니다.

 

Understanding:

  • 설명 : Obscuring은 Shadoing과 비슷하게 클래스의 멤버의 다른 것의 이름과 겹쳐서 생기는 문제입니다. 하지만 Obscruing은 범위가 조금 더 큰데, 클래스의 멤버가 단순히 더 넓은 스코프의 멤버를 가리는 것이 아닌, 네임스페이스 안에 있는 클래스나 네임스페이스를 가리는 현상입니다. 그리고 Shadoing은 변수의 이름과 메서드 이름이 겹칠 때 변수의 이름을 굳이 따로 만들 필요가 없다는 장점이 있지만 Obscuring은 그냥 버그에 가깝습니다.
class Player { }

class Program
{
    static void Main()
    {
        int Player = 10;
        Console.WriteLine(Player);
    }
}

 

Result: 생각해보니 Shadoing이나 Hiding은 의도를 가지고 사용할 수 있다는 것을 깨달았습니다.

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

[C#] 박싱(Boxing)과 언박싱(Unboxing)  (0) 2025.10.20
[C#] 죽음의 다이아몬드에 대한 개인적인 생각 (반박 환영)  (0) 2025.09.12
[C#] Hiding  (3) 2025.09.07
[C#] Shadoing  (0) 2025.09.06
[C#] switch 식  (0) 2025.09.02