C#은 C, C++의 문법을 토대로 MS사에서 개발한 .NET 프레임워크에서 작동하는 객체/컴포넌트지향 프로그래밍 언어이다. 이를 통해 Windows용 앱과 게임(유니티)을 개발할 수 있으며, 크로스플랫폼으로써 모바일 앱(android, ios)과 macOS 앱을 개발할 수도 있다고 한다.
.NET은 C#이 실행되기 위한 ‘플랫폼(실행 환경 + 라이브러리 + 도구 묶음)’이다. .NET Framwork는 Windows 전용으로 여러 한계가 존재한다. 2010년대 이후로 등장한 .NET Core는 크로스 플랫폼 (Windows / macOS / Linux)이며 오픈소스로 진화하여 제약조건이 많이 완화되었으며, 2020년대 들어 .NET으로 이름을 변경하였다. 현재는 .NET 10 버전이 최신 버전이다.
C# 코드를 실행시켜주는 엔진으로 메모리 관리(GC)와 예외 처리, 그리고 JIT 컴파일을 담당한다.
System.String, System.IO, System.Net, List 같은 라이브러리로 우리가 쓰는 대부분의 클래스가 여기에 포함되어 있다.
개발자가 사용하는 도구들로 구성되어 있다고 한다.
어떤 프로그램을 하더라도 항상 처음에는 "hello world"를 찍어본다. C#에서도 터미널에 찍기 위해 콘솔에 문자를 출력해주는 메서드를 활용하여 찍어준다.
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Program이라는 이름의 클래스를 지정 C#에서 원하는 값을 출력하기 위해서는 WriteLine()이라는 메서드를 활용할 수 있다. 앞서 우리가 Hello World를 출력하면서 봤듯이 Console.WriteLine("Hello World~");이렇게 사용하면 되는 것이다. 다음줄도 똑같이 추가해서 작성해도 된다. 다만 매서드를 한 개 사용할 때마다 개행(\n)이 되므로 유의해야 한다. 개행이 포함되지 않도록 한다면 Console.Write("Hello World!")를 사용하면 된다. 또한 숫자나 연산을 넣어도 동작한다. Console.WriteLine(3+3)이렇게 하면 결과는 6이 나오게 된다.