[25.04.14] TIL(C# 강의 - 챕터 1)

설민우·2025년 4월 14일

내일배움캠프 - Unity

목록 보기
21/85

내배캠에서 제공해준 C# 강의를 듣고, 추가적으로 확실하게 복습 해야겠다는 내용에 대한 재 정리를 진행했습니다.

[ 챕터 1 ]

C# 언어의 특징

C# 언어의 특징

  • 마이크로 소프트에서 만든 객체 지향(OOP) 언어.
  • 강력한 형식 시스템, 가비지 컬렉션(메모리 자동 해제) 기능
  • .NET 프레임워크에서 실행
  • 강력한 형식 시스템 : 변수나 객체의 자료형이 미리 정의되어 있어 데이터 타입에 대한 안전성과 정확성을 보장힙니다.
  • 가비지 컬렉션 : 동적 할당된 메모리를 자동으로 회수. C#은 메모리를 직접 해제하지 않고 자동으로 수집 & 해제한다.
  • .NET 프레임워크 : 마이크로 소프트에서 개발한 프로그래밍 플랫폼. 다양한 언어 지원

.NET 프레임 워크

.NET 프레임워크는 마이크로소프트에서 개발한 APP 개발 및 실행을 위한 플랫폼으로, 주로 윈도우 환경에서 동작하는 데스크톱, 웹, 서버 애플리케이션을 개발하는 데 사용됩니다.

< 핵심 구성 요소 >

1. CLR (Common Language Runtime)

  • .NET 애플리케이션 실행을 위한 런타임 환경
  • 주요 기능: 메모리 관리, 예외 처리, 보안, 가비지 컬렉션

2. FCL (Framework Class Library)

  • 방대한 표준 클래스 라이브러리 제공
  • 파일 I/O, 네트워킹, 데이터베이스, UI 등 다양한 기능 포함

3. 언어 상호 운용성

  • C#, VB.NET, F# 등 다양한 언어 지원
  • 동일한 CLR 위에서 작동하여 언어 간 통합 개발 가능

4. JIT 컴파일러 (Just-In-Time Compiler)

  • 중간 언어(IL)를 실행 시 네이티브 코드로 변환
  • 성능 최적화 및 플랫폼 독립성 제공

< 특징 >

  • 객체 지향 프로그래밍(OOP) 지원
  • Windows 전용 환경
  • 강력한 개발 도구(Visual Studio)와 연계
  • 자동 메모리 관리 및 가비지 컬렉션
  • 코드 접근 보안 및 사용자 권한 제어

< .NET Framework vs .NET Core / .NET 5+ >

항목.NET Framework.NET Core / .NET 5+
플랫폼Windows 전용크로스 플랫폼 (Windows, Linux 등)
최신성유지보수 위주활발한 개발 중
성능비교적 무거움경량, 고성능
주요 사용처기존 Windows 애플리케이션최신 웹/클라우드/모바일 앱

변수와 리터럴

< 변수를 세분화해서 사용하는 이유 >

1. 메모리의 효율적인

  • 세분화된 자료형을 사용하면 필요한 크기만큼 할당하여 효율적으로 사용 가능합니다

2. 정확한 데이터 표현

  • 세분화된 자료형을 사용하면 정확한 표현이 가능합니다. 특히 부동소숫점의 경우, 이하 자리가 다르며 이는 정확도의 표현이 될 수 있습니다.

3. 타입 안전성

  • 코드 타입 안전성 또한 유지할 수 있습니다. 지정한 값의 범위가 벗어날 경우 오류가 발생하므로 문제 상황을 찾기 쉬워집니다.

< 리터럴 >

1. 리터럴의 개념과 역할

  • 프로그래밍에서 직접 사용하는 상수값. 소스코드에 직접 기록되어있는값
  • C# 에서 리터럴은 컴파일러에 의해 상수로 처리되며, 변수나 상수에 할당되거나 연산에 사용됩니다.

2. 리터럴의 종류와 예시

  • 정수 : 10, 0x10(16진수), 0b10(2진수)
  • 부동 소수점 : 3.14(double), 3.14f(float)
  • 문자형 : A(Chart), \u0022(유니코드)

< 변수란? >

데이터를 저장하고 사용하기 위하여 할당받은 공간 입니다
필요에 따라 저장하거나 수정이 가능합니다

변수명

  • 변수명 지정시 키워드는 사용할 수 없습니다.
  • 첫문자에는 알파벳 또는 언더스코어만 올 수 있습니다.

< 형변환 >

형변환은 자료형이 다른 변수간에 값을 할당하거나 연산을 수행하기 위해서 해주는 형식의 변환작업 입니다.

1. 명시적 형변환

  • long num2 = (long)num1;

2. 암시적 형변환

  • int num2 = num1;

암시적 형변환은 직접 코드를 작성하지 않아도 작동하므로 간결히 작성할 수 있습니다.

profile
클라이언트 개발자를 지망하고 있습니다.

0개의 댓글