C# · 심층 가이드
C# Hello World 완전 정리
최상위 문으로 줄인 C# 진입점에서 문자열 보간, 명령행 인자, 환경 변수, 콘솔 인코딩까지 열 가지 최소 예제로 첫 프로그램의 동작을 확인합니다.
C#의 첫 프로그램은 다른 언어보다 사연이 깁니다. 오랫동안 class Program과 static void Main을 갖춘 골격이 있어야 실행이 됐지만, 최상위 문(top-level statements)이 들어오면서 Console.WriteLine 한 줄짜리 파일도 그대로 컴파일됩니다. 겉모습은 스크립트 언어처럼 단순해졌어도 컴파일러가 뒤에서 진입점 클래스를 만들어 준다는 사실은 그대로여서, 이 골격을 한 번은 들여다볼 값어치가 있습니다.
예제는 출력이라는 한 가지 동작을 조금씩 비틀며 이어집니다. Hello World 출력에서 시작해 변수 값을 같이 출력과 템플릿 문자열 인사로 넘어가면 문자열 보간이 왜 + 연결보다 읽기 편한지 눈에 들어옵니다. 뒤쪽의 명령행 인자 읽기와 환경 변수 읽기는 프로그램 바깥에서 값을 받아오는 두 통로를 나란히 보여 주므로, 따로 떼지 말고 붙여서 읽는 편이 낫습니다. 함수로 인사 만들기와 배열을 순회하며 인사까지 오면 출력 한 줄이 재사용 가능한 단위로 정리되는 과정이 한눈에 들어옵니다.
유니코드 메시지 출력에서 한글이나 이모지가 물음표로 깨진다면 코드가 아니라 콘솔 인코딩을 의심해야 합니다. 터미널의 기본 코드 페이지가 UTF-8이 아닐 때 생기는 현상이고, Console.OutputEncoding을 UTF-8로 지정하면 정리됩니다. 하나 더, .NET의 args에는 실행 파일 경로가 들어 있지 않습니다. C나 C++ 습관대로 args[0]을 프로그램 이름으로 여기면 사용자가 넘긴 첫 인자를 통째로 놓칩니다.
01Hello World 출력
C#에서 Hello World 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// Hello World 출력
using System;
Console.WriteLine("Hello, World 1!");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
02변수 값을 같이 출력
C#에서 변수 값을 같이 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 변수 값을 같이 출력
using System;
Console.WriteLine(Environment.GetEnvironmentVariable("APP_ENV") ?? $"run-2");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
03함수로 인사 만들기
C#에서 함수로 인사 만들기 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 함수로 인사 만들기
using System;
Console.WriteLine("Hello, World 3!");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
04배열을 순회하며 인사
C#에서 배열을 순회하며 인사 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 배열을 순회하며 인사
using System;
Console.WriteLine(Environment.GetEnvironmentVariable("APP_ENV") ?? $"run-4");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
05명령행 인자 읽기
C#에서 명령행 인자 읽기 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 명령행 인자 읽기
using System;
Console.WriteLine("Hello, World 5!");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
06템플릿 문자열 인사
C#에서 템플릿 문자열 인사 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 템플릿 문자열 인사
using System;
Console.WriteLine(Environment.GetEnvironmentVariable("APP_ENV") ?? $"run-6");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
07유니코드 메시지 출력
C#에서 유니코드 메시지 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 유니코드 메시지 출력
using System;
Console.WriteLine("Hello, World 7!");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
08환경 변수 읽기
C#에서 환경 변수 읽기 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 환경 변수 읽기
using System;
Console.WriteLine(Environment.GetEnvironmentVariable("APP_ENV") ?? $"run-8");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
09컬렉션 요약 출력
C#에서 컬렉션 요약 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 컬렉션 요약 출력
using System;
Console.WriteLine("Hello, World 9!");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
10버전 정보 출력
C#에서 버전 정보 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
C# code
// 버전 정보 출력
using System;
Console.WriteLine(Environment.GetEnvironmentVariable("APP_ENV") ?? $"run-10");짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
정리하며
- 최상위 문을 써도 컴파일러가 진입점 클래스를 생성하는 구조 자체는 달라지지 않습니다
- 문자열 조립은
+연결보다 보간 문자열을 기본 선택지로 잡아 두는 편이 낫습니다 args[0]은 실행 파일 경로가 아니라 사용자가 넘긴 첫 번째 인자입니다- 콘솔에서 한글이 깨지면
Console.OutputEncoding을 UTF-8로 맞춰 해결합니다
더 깊이 들어가고 싶다면 C# 학습 라이브러리에서 다른 주제 가이드를 이어서 보거나, 언어 비교에서 같은 개념이 다른 언어에서 어떻게 표현되는지 확인해 보세요.