본문으로 이동

C 샤프

카노위키
C#
C sharp logo.png
패러다임객체 지향, 명령형, 함수형, 절차적, 제네릭, 리플렉션, 이벤트 지향
개발마이크로소프트
발표일2000년
웹사이트https://docs.microsoft.com/ko-kr/dotnet/csharp/

C#(C Sharp, 시 샤프)는 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어로, 닷넷(.NET) 이니셔티브의 일부로 개발되었다. C++자바의 문법과 비슷하며, 강력한 형식 시스템과 자동 메모리 관리(가비지 컬렉션) 기능을 제공한다.

개요

C#은 ECMA(ECMA-334)와 ISO(ISO/IEC 23270)의 표준을 따르는 언어이다. 마이크로소프트의 앤더스 헤일스버그(Anders Hejlsberg)가 설계를 주도했다. 초기에는 Cool(C-like Object Oriented Language)이라는 코드명으로 불렸으나, 후에 C#으로 명명되었다. 'C#'이라는 이름은 음악의 올림표()에서 유래했으며, C++보다 한 단계 더 높다는 의미를 내포하고 있다. (C++++를 겹쳐서 샵 모양으로 만든 것이라는 설도 있다.)

특징

  • 완전한 객체 지향: C#은 모든 것이 객체로 취급되는 완전한 객체 지향 언어이다.
  • 안전성: 포인터 사용을 제한하고(unsafe 블록에서만 허용), 엄격한 자료형 검사를 통해 프로그램의 안정성을 높였다.
  • 자동 메모리 관리: 가비지 컬렉터를 통해 사용되지 않는 메모리를 자동으로 해제한다.
  • 상호 운용성: 다른 .NET 언어들과 상호 운용이 가능하며, COM 객체와의 연동도 지원한다.
  • 버전 발전: 지속적인 업데이트를 통해 제네릭, 람다 식, LINQ, 비동기 프로그래밍(async/await) 등 현대적인 프로그래밍 기능들이 추가되었다.

예제

다음은 C#으로 작성한 Hello World 프로그램의 예제이다.

using System;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

버전

버전 발표 년도 .NET 버전 주요 기능
1.0 2002년 .NET Framework 1.0 관리되는 코드, 클래스, 구조체, 인터페이스, 델리게이트
2.0 2005년 .NET Framework 2.0 제네릭, 익명 메서드, 이터레이터, nullable 형식
3.0 2007년 .NET Framework 3.5 람다 식, 확장 메서드, 익명 형식, LINQ
4.0 2010년 .NET Framework 4.0 dynamic 키워드, 명명된 인수, 선택적 인수
5.0 2012년 .NET Framework 4.5 비동기 프로그래밍 (async/await)
6.0 2015년 .NET Framework 4.6 문자열 보간, 식 본문 멤버, null 조건 연산자
7.0 2017년 .NET Framework 4.6.2 튜플, 패턴 매칭, 로컬 함수
8.0 2019년 .NET Core 3.0 nullable 참조 형식, 비동기 스트림, 기본 인터페이스 멤버
9.0 2020년 .NET 5.0 레코드, 최상위 문
10.0 2021년 .NET 6.0 전역 using, 파일 범위 네임스페이스
11.0 2022년 .NET 7.0 원시 문자열 리터럴, 제네릭 수학
12.0 2023년 .NET 8.0 기본 생성자, 컬렉션 식

같이 보기