C# 언어 둘러보기

해질녘·2022년 1월 24일
0

csharp

목록 보기
2/2
post-thumbnail

이 문서는 마이크로소프트 문서 링크를 보고 부분 번역한 것입니다.

기본 한국어 번역이 MS bing 번역인지 원어 설정으로 바꿔서 구글번역기 돌리는게 더 잘나옴. 배신의 맛

C# 언어 둘러보기

특징

  • 객체 지향
  • component-oriented 컴포넌트 기반.
    • 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 만드는 소프트웨어 개발방법론.
    • 컴포넌트는 독립적인 업무 또는 독립적인 기능을 수행하는 모듈이다.
  • Type-safe 타입 안정성
    • 컴파일 시 타입 판별 가능, 문제를 잡을 수 있다.
    • 예) 자바, 씨샵 (씨나 씨쁠쁠은 해당하지 않는다.)

대표 기능

  • 가비지 콜렉션
  • Nullable Type
  • Exceprion Handling
  • Lambda Expression
  • Language Integrated Query (LINQ)
    • 씨샵 언어에 직접 쿼리 기능을 통합하는 방식을 기반으로 하는 기술들.
  • asynchronous operation 지원
    • 순차적이지 않은 흐름
  • unified type system
    • 원시 자료형인 intdouble등을 포함하여, 모든 자료형의 root는 object이다.
    • 자료형 간 공통의 연산을 공유한다.
  • reference type, value type
  • 제네릭 method, type
  • iterator

버전 관리

프로그램과 라이브러리의 호환, 시간이 지남에 따라 발전시킬 수 있도록 버전 관리를 강조한다.

고려 사항으로는 virtual, override modifier, 메소드 오버로드 해결 규칙 등.

.NET 아키텍처

java가 jvm 위에서 돌아가듯, 씨샵 프로그램 역시 가상머신 위에서 작동한다.

해당 가상 실행 시스템을 .NET이라고 한다.

c# 소스코드 ---> 중간 언어 IL ---> 어셈블리 코드

Hello, World

class Hello
{
    static void Main()
    {
        Console.WriteLine("Hello, World");
    }
}

자료형

아래 열거한 자료형은 일부 생략됨 (씨샵 언어의 전체 자료형인 아님.)

  • value type
    • simple
      • 부호 있는 정수 int
      • 부호 없는 정수 byte
      • 유니코드 문자 char
      • 부동소수점 float, double
      • bool
    • 열거형
      • enum
    • 구조체
      • 사용자 정의 struct s {...}
    • nullable
      • null
    • 투플
      • (T1, T2, ...)
  • 참조 유형
    • 클래스
      • object 모든 클래스의 root
      • string 유니코드 문자열
      • 사용자 정의 class C {...}
    • 인터페이스
      • 사용자 정의 interface I {...}
    • 배열
      • 1차원, 다차원
    • delegate

value type Boxing

자바에서 본 것과 동일하므로 생략.

object - value형 간 주고받을 때 boxing 됨

0개의 댓글