C# 첫 단추

주환서·2026년 1월 26일

1. C++ VS C#

  • C++ VS C#
    • C++은 CPU가 바로 실행 가능한 기계어 / C#은 CLR이라는 관리자가 관리 후 실행
    • C++에서의 new는 자기 자신이 완전히 제어 및 관리 / C#에서의 new는 CLR이 관리

* CLR

2. C# 변수의 종류

  • 변수의 종류
    • 값 타입
      • 복사 방식: 데이터 자체가 복사됨
      • 주로 stack에 할당
        • struct, eunm , int, float, bool 등등
    • 참조 타입
      • 복사 방식: 메모리 주소 값만 복사됨
      • 주로 heap에 할당
        • class, string, array, interface , delegate, object

3. 오늘의 꿀팁

  1. this: 현재 객체의 참조 값 / base: 부모 객체의 참조 값
  2. sealed: 최종 클래스(더 이상 상속 하지 않음)
  3. abstruct: new를 통해 인스턴스화 할 수 없음
  4. 프로퍼티: ex) private int _x;
    1. 프로퍼티는 GetX(), SetX() 같은 함수를 만들지 않아도, 변수처럼 접근하면서 내부적으로는 함수가 호출됨
    2. baking field: public int X { get; set; } 처럼 내부 필드를 알아서 만들어줌
  5. 문자열 보간
    1. $"({X}, {Y})" 문자열 앞에 $를 붙이면 {} 안에 변수를 직접 넣을 수 있음
    2. ⇒: 람다식 표현, retrun과 {}를 생략하고 표현
    // 기존
    public int GetSum(int a, int b) { return a + b; }
    // 람다식
    public int GetSum(int a, int b) => a + b;

4. C++ -> C# 후기

C++을 배우면서 많이 번거롭고 어려웠던 느낌이 많이 들었었습니다.

그래서 C#으로 넘어오면 편의성 측면에서 많이 좋아진다고 들어서 기대반 걱정반으로 처음 배워봤는데

우선 오늘 배운 것 중에서는 class 타입 생성 할 때 헤더 파일을 만들지 않는게 되게 깔끔하다고 느꼈습니다.

그리고 C++을 배울 때 어려웠던 포인터를 쓰지 않아서 덜 헷갈렸습니다.

아직 첫 날이라 더 배워 봐야 알겠지만 왜 C++보다 C#이 편리하다는건지 어렴풋이 알 것 같습니다.

0개의 댓글