안녕하세용 jju_developer 입니다.
다들 잘 지내시나요?
C# 개발을 하다보면 어느 코드에는 아직도 namespace로 감싸져 있는 경우가 있어서
한번 점검을 해보면 좋겠다 싶어서 글을 작성해봅니다!
C# 개발자라면 알아두셔야 할, C# namespace 선언 규칙의 변화에 대해 이야기해보려고 합니다.
아직도 namespace 블록에 {}를 사용하는 분들이 계시다면, 이 글을 꼭 읽어보세요!

변화된 C# namespace 규칙
C# 10부터 namespace 선언 방식에 큰 변화가 있었습니다.
기존에는 다음과 같이 중괄호 {}를 사용해 블록을 정의했습니다:
namespace MyNamespace
{
class MyClass
{
// Class content
}
}
C# 10부터는 파일 범위 네임스페이스(File-scoped namespace) 문법이 추가되면서
중괄호 없이 더 간결하게 작성할 수 있게 되었습니다!!!!!
namespace MyNamespace;
class MyClass
{
// Class content
}
이제 한 줄로 네임스페이스를 선언할 수 있어, 불필요한 들여쓰기와 코드 블록을 줄일 수 있습니다.
이 변경은 특히 클래스, 인터페이스, 열거형 등이 많은 프로젝트에서 코드 가독성을 크게 향상시키겠죵?
파일 범위 네임스페이스는 C# 10에서 도입되었으며, 이는 .NET 6 이상에서 지원되니까
혹시 프로젝트를 닷넷 6이상 사용하고 계신다면 한번 적용시켜보세요~!!ㅋ
내 프로젝트가 지원하는지 확인하는 방법
Windows
명령 프롬프트 또는 PowerShell 열기.
프로젝트 디렉터리로 이동 후 다음 명령어 실행:
dotnet --version
출력된 버전이 6.0 이상이라면 파일 범위 네임스페이스를 사용할 수 있습니다.
또는, Visual Studio에서 프로젝트의 csproj 파일을 열고 TargetFramework 속성을 확인하세요:
<TargetFramework>net6.0</TargetFramework>
MAC OS
터미널 열기.
프로젝트 디렉터리로 이동 후 다음 명령어 실행:
dotnet --version
출력된 버전이 6.0 이상인지 확인하세요.
마찬가지로 csproj 파일에서 TargetFramework를 확인할 수도 있습니다.
이 문법을 왜 써야 할까요?
단순하게 코드의 들여쓰기 레벨이 줄어들어 가독성이 좋아집니다.
일관성도 있어지고, 같은 파일 내 여러 네임스페이스를 선언할 때 코드 정리가 더 쉬워집니다.
최신 트렌드 반영하는게 우선 가장 맘에 듭니다.
계속해서 최신 C# 문법을 찾아보고 사용하는 것은 개발자의 역량을 보여주는 좋은 방법이라고
생각했습니당!
예시로 보는 차이점
// 기존 방식
namespace MyApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
}
}
}
VS
// 파일 범위 네임스페이스 방식
namespace MyApp;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
}
}
어느 쪽이 더 깔끔해 보이나요? 😄
마무리~
C# 은 공부 하면 할수록 재밌고 참고 자료도 정리가 잘 되어있으니
새로 프로젝트를 시작하신다면 꼭 적용해보세요~
그럼 다음에 또 봅시다!
아디오스!
'C# 기초 공부' 카테고리의 다른 글
C# + React + RabbitMQ 서버 구성에 대한 궁금 (2) | 2025.02.05 |
---|---|
[백준] C# 나는야 포켓몬 마스터 이다솜 (1) | 2024.10.20 |
[C#] 이진 트리 공부 (0) | 2024.10.07 |
[C#] 엑셀 파일 만들기 (기초) (0) | 2024.10.05 |
[C#] KeyValuePair vs Dictionary 차이점 (1) | 2024.10.02 |