Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Docker
- quick sort
- 시간복잡도
- C#
- 탐색
- 정렬
- 알고리즘
- 자료구조
- dfs
- mysql
- asp.net core
- 백준
- 재귀
- .NET
- API
- asp.net
- 도커
- Merge Sort
- maui
- REDIS
- Get
- BFS
- docker-compose
- 파이썬
- C++
- sql
- .net maui
- 큐
- 스택
- .net core
Archives
- Today
- Total
코젤브
namespace 란? 본문
c++을 배울 때 분명히 다루긴 했지만, 이번에 ASP.NET을 진행하다보니 namespace의 중요성에 대해 느껴서 헷갈리는 부분을 정리하기로 했다!
네임스페이스는 C# 및 ASP.NET Core 개발에서 코드의 구조를 정의하고 조직화하는 데 매우 중요한 역할!
namespace란?
코드를 구성하는 타입들을 하나의 묶음으로 취급하여 관리할 수 있도록 해주는 논리적인 컨테이너
- namespace 키워드는 관련 개체 집합을 포함하는 범위를 선언하는 데 사용
- 네임스페이스를 사용하여 코드 요소를 구성하고 전역적으로 고유한 형식을 만들 수 있다!
- 프로그램 내에서 타입 관리의 복잡성을 줄이고, 여러 라이브러리 간의 타입 이름 충돌 문제를 방지
- 목적
- 코드의 조직화 및 관리 (충돌 방지)
- 다양한 클래스, 구조체, 인터페이스, 열거형 등을 논리적으로 그룹화하는 컨테이너 역할
- ex. 같은 이름의 클래스를 네임스페이스를 통해 구분할 수 있음
선언방법
1. 파일 범위 네임스페이스 선언 (;를 통한)
- 파일의 모든 형식이 단일 네임 스페이스에 있음을 선언
- 추가 네임스페이스 선언을 포함할 수 없음!! (주석의 Not allowed! 부분)
namespace SampleNamespace;
class AnotherSampleClass
{
public void AnotherSampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
namespace AnotherNamespace; // Not allowed!
namespace ANestedNamespace // Not allowed!
{
// declarations...
}
2. 중괄호를 통한 네임스페이스 선언
- 중첩된 네임스페이스를 포함한 경우
namespace SampleNamespace
{
class SampleClass { }
interface ISampleInterface { }
struct SampleStruct { }
enum SampleEnum { a, b }
delegate void SampleDelegate(int i);
namespace Nested
{
class SampleClass2 { }
}
}
사용방법
일반적으로 using 키워드를 통해 사용
System.Console.WriteLine("Hello World!");
이 코드에서 System은 네임스페이스이고 Console은 해당 네임스페이스의 클래스
using System;
Console.WriteLine("Hello World!"); // 전체 이름이 필요 없음!
클래스와 네임스페이스
클래스
- 객체 지향 프로그래밍(OOP)의 기본 단위
- 데이터와 메소드를 하나의 캡슐화된 단위로 묶어 관리
- 변수와 메소드 포함
- 인스턴스화를 통해 객체를 생성하고, 이 객체를 통해 클래스에 정의한 기능을 실행
당연히 이 둘이 다른 것을 알겠지만,
네임스페이스는 다른 클래스, 메소드, 네임스페이스를 포함할 수 있는 더 큰 범위의 구조임!
간단히 말하면, 네임스페이스는 여러 클래스와 다른 타입들을 그룹화하는 용도로 사용되고,
클래스는 실제 객체의 템플릿 역할을 한다.
따라서 두 구조는 서로 보완적으로 사용되어 프로그램의 구조를 체계적으로 만듦!!
네임스페이스 키워드 - C# 참조 - C#
네임스페이스 키워드 - C# 참조
learn.microsoft.com
'컴공의 일상 > C#' 카테고리의 다른 글
[Blazor] 컴포넌트 소개 및 활용 (0) | 2024.07.15 |
---|---|
[Redis] Redis란? 설치 및 시작과 기본 명령어 (0) | 2024.07.10 |
[API Server] MVC 패턴과 Service, Repository (0) | 2024.07.09 |
C# [Required] vs required 차이점 (1) | 2024.04.22 |
C# 공부 시작! (0) | 2024.04.11 |