Menu
Coddy logo textTech

네임스페이스와 지시문

Coddy C# 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 70개 중 2번째.

네임스페이스는 코드를 정리하고 이름 충돌을 방지합니다. 폴더가 파일을 정리하는 것처럼 관련 클래스들을 함께 그룹화합니다.

네임스페이스 내에 클래스를 생성합니다.

namespace MyApp.Models
{
    public class User
    {
        public string Name { get; set; }
        
        public User(string name)
        {
            Name = name;
        }
    }
}

다른 네임스페이스의 클래스에 액세스하려면 using 지시문을 사용하세요.

using System;
using MyApp.Models;

class Program
{
    static void Main()
    {
        User user = new User("Alice");
        Console.WriteLine(user.Name);
    }
}

출력:

Alice

using 지시문이 없으면, 정규화된 이름을 사용해야 합니다.

MyApp.Models.User user = new MyApp.Models.User("Bob");

using 지시문을 사용하면 매번 전체 네임스페이스 경로를 입력하지 않고도 네임스페이스 내의 형식을 참조할 수 있습니다. SystemConsole과 같은 기본적인 클래스를 포함하는 일반적인 네임스페이스입니다.

challenge icon

챌린지

중급

MyApp.Models 네임스페이스에 User 클래스가 있습니다. 정규화된 이름을 사용하지 않고 User 클래스를 사용할 수 있도록 Program.cs에 올바른 using 지시문을 추가하세요.

치트 시트

네임스페이스는 관련 있는 클래스들을 함께 그룹화하여 코드를 조직화하고 이름 충돌을 방지합니다.

네임스페이스 안에 클래스를 생성합니다:

namespace MyApp.Models
{
    public class User
    {
        public string Name { get; set; }
        
        public User(string name)
        {
            Name = name;
        }
    }
}

다른 네임스페이스의 클래스에 접근하려면 using 지시문을 사용하세요:

using System;
using MyApp.Models;

class Program
{
    static void Main()
    {
        User user = new User("Alice");
        Console.WriteLine(user.Name);
    }
}

using 지시문이 없는 경우, 전체 이름(fully qualified name)을 사용합니다:

MyApp.Models.User user = new MyApp.Models.User("Bob");

System 네임스페이스는 Console과 같은 기본적인 클래스들을 포함하고 있습니다.

직접 해보기

using System;
// TODO: MyApp.Models를 위한 using 지시문 추가

class Program
{
    static void Main()
    {
        string userName = Console.ReadLine();
        // TODO: userName을 사용하여 User 객체 생성
        // TODO: "User created: "와 이어서 사용자의 Name 출력
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

객체 지향 프로그래밍의 모든 레슨