1. C#
마이크로소프트가 2000년에 발표한 객채 지향 언어(OOP). C계열 언어로, C에서 한 단계 업그레이드 됐단 뜻에서 #이 붙음.
변수(데이터를 담는 그릇)의 종류(타입)을 미리 선언하기 때문에, 올바르지 않은 값을 담으려고 하면 컴파일(번역)단계에서 잡아낼 수 있다는 장점이 있음.
가비지 컬렉션 기능이 있기 때문에, 메모리 해제 코드를 일일이 쓰지 않아도 됨.
C# 코드는 바로 실행파일로 변환되지 않고, 중간 언어(IL)로 컴파일된 다음 실행 시점에서 JIT 컴파일러(Just-In-Time)가 네이티브 코드로 바꿔줌.
∴ 다양한 운영체제에서 동일한 C# 코드를 돌릴 수 있음.
→ (추측) 요즘 나오는 게임들은 아무리 소규모 인디 게임이더라도 멀티 플랫폼인 경우가 많은데, C#을 이용했기에 금방 적용할 수 있는 게 아닌가 하는 생각이 듬. Unity 엔진이 멀티플랫폼 출시에 용이하다고도 들었음.
C#의 IL + JIT 구조는 '코드를 다양한 환경에서 실행 가능하게 만드는 기반 기술'
Unity와 같은 게임 엔진은 '그걸 실제 멀티플랫폼으로 구현 가능하게 만드는 도구' (챗gpt 참조.)
2. 객체 지향 프로그래밍(Object-oriented programming, OOP)
초기 프로그래밍: 유저의 입력을 받아 명시된 순서대로 처리한 다음 결과값을 내는 것. 간단한 알고리즘이면 상관없지만, 복잡해지기 시작하면 보고 이해하기 어려운 '스파게티 코드'가 되어버림.
↓
구조적 프로그래밍: 프로그램이라는 큰 문제를 해결하기 위해 그것을 작은 문제들로 나누어 해결하는 방식. Top-down 방식이기도 함.
↓
객체 지향 프로그래밍: 프로그램을 '객체(object)'라는 기본 단위로 나누고 이들의 상호 작용으로 서술하는 방식.
(추측) A 객채와 B 객채가 '상호 작용'하는 것을 서술한다...라는 것으로 이해함.
작은 문제들을 해결할 수 있는 객채들을 만든 뒤, 이 객채들을 조합해서 큰 문제를 해결하는 방식. Bottom-up 방식이기도 함.
C는 쉽게 말하면 알파벳과 기초 영문법이고, OOP는 그걸 활용한 논리적 작문과 유사함. '문법'을 '가장 문제가 덜 생기는 방향으로 코딩하게끔 하는' 가이드라인. (출처: 나무위키)
'오즈코딩스쿨 사전학습' 카테고리의 다른 글
| 게임개발 초격차 캠프 미션지 12 - C# – 연산자 (0) | 2026.04.07 |
|---|---|
| 게임개발 초격차 캠프 미션지 11 - C# – 변수와 데이터 타입 (0) | 2026.04.06 |
| 게임개발 초격차 캠프 미션지 09 - 첫 프로그램 만들어 보기 (0) | 2026.04.04 |
| 게임개발 초격차 캠프 미션지 08 - Visual Studio 설치 (0) | 2026.04.03 |
| 게임개발 초격차 캠프 미션지 07 - 나는 어떤 게임을 만들게 될까? (0) | 2026.04.02 |