내배캠에서 제공해준 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. 명시적 형변환
2. 암시적 형변환
암시적 형변환은 직접 코드를 작성하지 않아도 작동하므로 간결히 작성할 수 있습니다.