출시·고도화 중
C# 안내서 · 1/6
C#은 마이크로소프트가 만든 정적 타입 객체 지향 언어로, 오픈 소스이자 크로스 플랫폼인 .NET 위에서 동작합니다. 콘솔 도구, 웹 API, 데스크톱 앱, 게임(Unity), 클라우드 서비스까지 같은 언어와 같은 도구로 만들 수 있습니다. 이 장에서는 .NET SDK를 설치하고, 첫 프로젝트를 만들어 실행하고, 프로젝트 파일이 무엇을 담는지 살펴본 뒤 편집기를 준비합니다.
C# 코드를 빌드하려면 .NET SDK가 필요합니다. SDK에는 컴파일러, dotnet 명령줄 도구, 기본 라이브러리, 런타임이 모두 들어 있습니다. 실행만 하는 컴퓨터에는 런타임만 있어도 되지만, 개발하는 컴퓨터에는 SDK를 설치합니다.
winget, macOS에서는 Homebrew, Linux에서는 배포판의 패키지 관리자나 마이크로소프트 패키지 저장소로도 설치할 수 있습니다.설치가 끝나면 새 터미널을 열고 다음 명령으로 확인합니다.
dotnet --version
dotnet --list-sdks
dotnet --infodotnet --version은 지금 쓰이는 SDK 버전을, dotnet --list-sdks는 설치된 모든 SDK를 보여 줍니다. SDK는 여러 버전을 나란히 설치할 수 있고, 각 프로젝트는 자기가 대상으로 하는 버전을 프로젝트 파일에 적습니다.
dotnet new는 템플릿으로 프로젝트를 만듭니다. 콘솔 앱 템플릿의 이름은 console입니다.
dotnet new console -o HelloApp
cd HelloApp
dotnet run-o HelloApp은 HelloApp 폴더를 만들고 그 안에 프로젝트를 생성하라는 뜻입니다. 폴더에는 HelloApp.csproj와 Program.cs 두 파일이 생기고, dotnet run을 실행하면 화면에 Hello, World!가 출력됩니다. Program.cs의 내용은 한 줄뿐입니다.
// Program.cs
Console.WriteLine("Hello, World!");클래스나 Main 메서드가 보이지 않는 이유는 최상위 문(top-level statements) 덕분입니다. 컴파일러가 이 파일의 문장들을 감싸는 진입점을 자동으로 만들어 줍니다. 명령줄 인수는 미리 정의된 args 변수로 받을 수 있습니다.
if (args.Length == 0)
{
Console.WriteLine("사용법: dotnet run -- <이름>");
return;
}
var name = args[0];
Console.WriteLine($"안녕하세요, {name}님! 오늘은 {DateTime.Now:yyyy-MM-dd}입니다.");dotnet run -- 철수처럼 -- 뒤에 적은 값이 프로그램에 전달됩니다. -- 앞의 옵션은 dotnet run 자신이 받습니다.
.csproj는 MSBuild 형식의 XML 파일로, 무엇을 어떻게 빌드할지 정합니다. 템플릿이 만든 파일은 대략 다음과 같습니다.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>| 항목 | 뜻 |
|---|---|
Sdk="Microsoft.NET.Sdk" | 일반 .NET 프로젝트용 빌드 규칙을 씁니다. 웹 프로젝트는 Microsoft.NET.Sdk.Web을 씁니다. |
OutputType | Exe이면 실행 파일, 생략하면 라이브러리(.dll)를 만듭니다. |
TargetFramework | 대상 .NET 버전입니다. 템플릿이 설치된 SDK에 맞는 값을 넣어 줍니다. |
ImplicitUsings | System, System.IO, System.Linq 같은 자주 쓰는 네임스페이스를 자동으로 가져옵니다. |
Nullable | null 허용 참조 형식 검사를 켭니다(3장에서 다룹니다). |
SDK 스타일 프로젝트는 폴더 안의 .cs 파일을 자동으로 모두 포함하므로, 새 파일을 만들 때마다 프로젝트 파일을 고칠 필요가 없습니다.
자주 쓰는 명령은 다음과 같습니다.
dotnet build # Debug 구성으로 빌드
dotnet build -c Release # Release 구성으로 빌드
dotnet run # 빌드한 뒤 실행
dotnet watch # 파일이 바뀌면 다시 빌드하고 실행
dotnet clean # 빌드 결과 지우기빌드 결과는 bin/Debug/<대상 프레임워크>/ 아래에, 중간 파일은 obj/ 아래에 생깁니다. 두 폴더는 언제든 다시 만들 수 있으므로 버전 관리에서 제외합니다. dotnet new gitignore를 실행하면 .NET용 .gitignore 파일이 만들어집니다.
C#은 편집기 지원이 강력한 언어입니다. 다음 중 하나를 고르면 자동 완성, 리팩터링, 디버깅을 바로 쓸 수 있습니다.
어떤 편집기를 쓰든 코드 스타일은 dotnet format으로 맞출 수 있습니다. 저장소 루트에 .editorconfig를 두면 들여쓰기, 이름 규칙, 경고 수준을 팀 전체가 같이 쓸 수 있습니다.
dotnet --version으로 설치를 확인합니다.dotnet new console로 프로젝트를 만들고 dotnet run으로 실행합니다.Program.cs의 최상위 문이 프로그램의 진입점이 되며, 인수는 args로 받습니다..csproj는 대상 프레임워크, 출력 형식, 컴파일러 옵션을 정하는 MSBuild 파일입니다.dotnet format으로 스타일을 맞춥니다.
댓글 0개
로그인 · 로그인하면 댓글을 남길 수 있습니다.
첫 댓글을 남겨 보세요.