오늘은 C#에 대해 학습하고 그 특징을 정리해 보았습니다.
C#이란?
C#은 2000년 마이크로소프트에서 발표한 프로그래밍 언어입니다.
기본적으로 C/C++ 언어에서 파생되었으며, C++의 강력한 성능과 Java의 편리함 및 안전성을 결합하여 만들어졌습니다.
현재 윈도우 애플리케이션 개발뿐만 아니라, 유니티(Unity) 엔진의 주력 스크립트 언어로 사용되어 게임 개발자에게는 필수적인 언어로 자리 잡았습니다.
C#의 3가지 핵심 특징
강력한 타입 시스템
- C#은 변수를 생성할 때 해당 변수 안에 어떤 종류의 데이터가 들어갈지 미리 엄격하게 선언해야 합니다.
- 이로 인해 코드를 실행하기 전인 컴파일 단계에서 오류를 미리 발견할 수 있어 프로그램의 안정성이 크게 높아집니다.
자동 메모리 관리
- C나 C++에서는 개발자가 직접 메모리를 할당하고 해제해야 하는 번거로움과 위험이 있습니다.
- 반면 C#은 가비지 컬렉터(Garbage Collector)가 백그라운드에서 실행되며 더 이상 사용하지 않는 메모리를 자동으로 찾아내어 청소해 줍니다. 덕분에 개발자는 메모리 누수 걱정 없이 로직 구현에만 집중할 수 있습니다.
.NET 플랫폼과 JIT 컴파일
- 코드를 작성하면 바로 실행 파일(EXE)의 기계어로 변환되는 것이 아니라, 일단 중간 언어(IL, Intermediate Language)로 1차 컴파일됩니다.
- 이후 프로그램을 실제 실행하는 시점에 JIT(Just-In-Time) 컴파일러가 이 중간 언어를 해당 컴퓨터 환경에 맞는 기계어로 번역하여 실행합니다. 이를 통해 다양한 운영체제와 하드웨어 환경에서 유연하게 동작할 수 있습니다.
C#의 객체 지향 프로그래밍 (OOP)
C#의 가장 큰 특징은 철저한 객체 지향 언어(Object-Oriented Programming, OOP)라는 점입니다.
OOP란?
프로그램을 단순히 명령어의 나열로 보는 것이 아니라, 현실 세계의 사물을 컴퓨터 세계 속 객체로 만들고, 이 객체들을 조립하고 상호작용하게 하여 프로그램을 만드는 방식입니다.
- 클래스 (Class): 객체를 만들기 위한 설계도나 틀 (예: 붕어빵 틀)
- 객체 (Object): 클래스라는 틀을 바탕으로 메모리상에 실제로 만들어진 실체 (예: 팥 붕어빵, 슈크림 붕어빵)
4. OOP의 4대 핵심 원칙
객체 지향 프로그래밍을 제대로 활용하기 위해 반드시 알아야 할 4가지가 있습니다.
- 캡슐화 (Encapsulation)
- 관련된 데이터와 기능을 하나의 클래스 안에 묶는 것입니다.
- 외부에서 함부로 접근하면 안 되는 중요한 내부 데이터는 숨기고(정보 은닉), 필요한 기능만 밖으로 노출해 안전하게 보호합니다.
- 상속 (Inheritance)
- 이미 만들어진 부모 클래스의 특성(데이터와 기능)을 자식 클래스가 그대로 물려받는 것입니다.
- 중복되는 코드를 다시 작성할 필요가 없어 코드의 재사용성이 매우 높아집니다.
- 다형성 (Polymorphism)
- 같은 이름의 명령이나 메서드가 상황이나 객체에 따라 다르게 동작하는 성질입니다.
- (예: 공격이라는 명령을 내렸을 때, 검사는 칼을 휘두르고 마법사는 마법을 쓰는 것처럼 각자 다르게 반응함)
- 추상화 (Abstraction)
- 복잡한 세부 사항은 숨기고, 프로그램에 꼭 필요한 핵심적인 특징과 기능만을 추출하여 모델링하는 과정입니다.
'게임개발 초격차 캠프 > 워밍업 C# & Unity 기초' 카테고리의 다른 글
| C# – 연산자 [2026.05.25] (0) | 2026.05.25 |
|---|---|
| C# – 변수와 데이터 타입 [2026.05.24] (0) | 2026.05.24 |
| 첫 프로그램 만들어 보기 [2026.05.22] (0) | 2026.05.22 |
| Visual Studio 2022 설치 및 개발 환경 세팅 [2026.05.21] (0) | 2026.05.21 |
| 나는 어떤 게임을 만들어 보고 싶은지? [2026.05.20] (0) | 2026.05.20 |