[수업내용]
1. 각종 유용한 기본 단축키
2. C# 기본 용어/개념- 표기법, 변수, 상수, 정적변수, 클래스, 접근제한자, 매개변수, 생성자,
3. C# 기본 문법 예시 - 변수 타입, 연산자, 조건문
*주목표. 기본 용어 추가 이해
[추가 학습 내용]
1.1 기본 단축키 모음
개발을 할 때 필수인 단축키 맛보기를 진행했는데, 윈도우와 맥의 단축키는 달라서 개별적으로 정리를 해야했다. (Mac , Rider)
실행 취소
| 뒤로 가기 (Undo) | Command (⌘) + Z |
| 앞으로 가기 (Redo) | Command (⌘) + Shift + Z |
주요 단축키
| 한 줄 주석 처리 | Command (⌘) + / |
| 줄 복사 (아래에 복제) | Option (⌥) + Shift + ↓ |
| 줄 복사 (위에 복제) | Option (⌥) + Shift + ↑ |
| 줄 위/아래로 이동 | Option (⌥) + ↑ 또는 ↓ |
| 뒤로 가기 (코드 이동 이력) | Command (⌘) + [ |
| 앞으로 가기 (코드 이동 이력) | Command (⌘) + ] |
| 여러 커서 선택 (멀티 커서) | Option (⌥) + 클릭 |
| 빠른 코드 자동완성 (예: cs + Tab) | 예: cw 입력 후 Tab → Console.WriteLine(); (템플릿 기반 스니펫) |
| 현재 줄 삭제 | Command (⌘) + Delete |
이동 관련 단축키
| Command + ← | 커서를 현재 줄의 맨 앞으로 이동 |
| Command + → | 커서를 현재 줄의 맨 끝으로 이동 |
| Command + ↑ | 문서의 맨 위로 이동 |
| Command + ↓ | 문서의 맨 아래로 이동 |
+(4일차 내용)
| 참조 위치로 이동 (정의로 이동) | Command +D | 해당 변수, 함수, 클래스 등이 선언된 위치(정의 위치)로 이동 |
3.1 변수 타입
- 숫자 변수는 주로 int, float을 사용

- float, double 차이는?
| 항목 | float | double |
| 크기 | 4바이트 (32비트) | 8바이트 (64비트) |
| 정밀도 | 소수점 약 7자리 | 소수점 약 15~16자리 |
| 성능 | 더 빠름 | 더 느림 |
| 기본값 | 0.0f | 0.0 (접미사 생략 가능) |
| Unity 사용 여부 | Unity API에서 기본 사용 | 거의 사용하지 않음 (예외적 상황에만 사용) |
- 0.0 → 자동으로 double
- 0.0d → 명시적으로 double (생략 가능)
- 0.0f → float (접미사 필수!)
-bool 과 boolean
| bool | 줄임말 | C, C++, C#, Python, JavaScript | 참/거짓 값을 표현하는 기본 데이터 타입 |
| boolean | 정식 명칭 | Java, SQL, 일부 스크립트 | 동일하게 참/거짓을 나타냄 |
3.2 var (변수)를 쓰는 경우
var는 컴파일 타임에 타입을 결정할 수 있어야만 사용할 수 있다.
즉, 코드를 작성해서 빌드(컴파일)할 때, 컴파일러가 변수의 타입을 바로 유추할 수 있어야 한다는 뜻이다.
초기값 없이 선언하거나, null을 넣는 경우에는 타입을 유추할 수 없기 때문에 var를 쓸 수 없다.
변수의 타입이 한눈에 명확한 경우 var를 써도 코드가 이해되기 쉽다.
3.3 const = 컴파일 타임 상수
const는 컴파일 타임 상수이다.
말 그대로 코드를 실행하기 전에, 컴파일할 때 값이 확정되어야 하는 상수를 뜻한다.
- 한 번 값이 정해지면 프로그램 실행 중 절대 바뀌지 않는다.
- 선언과 동시에 값을 지정해야 한다. (지정하지 않으면 컴파일 에러)
- 메모리에 상수로 박혀 있어서 빠르게 접근 가능하다.
- 보통 숫자나 문자열 등, 간단한 고정값을 사용할 때 쓰인다.
3.4 const 와 readonly
| 항목 | const | readonly |
| 값 설정 시점 | 컴파일 타임 | 런타임 (생성자 포함) |
| 수정 가능 여부 | 절대 불가 | 생성자 내에서 1회 설정 가능 |
| 사용 용도 | 고정된 값 | 객체마다 다른 불변 값 |
| 타입 제한 | 리터럴(숫자, 문자 등)만 | 어떤 타입이든 가능 (객체 포함) |
3.5 정적변수
static을 붙이면, 클래스가 처음 로드될 때 한 번만 메모리에 올라가는 변수가 된다.
즉, 프로그램 실행 전에 메모리에 자리를 잡고, 모든 인스턴스가 공유하게 된다.
| 키워드 | static |
| 생성 시점 | 클래스 로드 시 (프로그램 실행 전) |
| 메모리 | 딱 한 번 생성, 모든 인스턴스가 공유 |
| 사용 용도 | 공통 데이터 저장, 전역 상태 관리 |
| 접근 방법 | 클래스명.변수명 |
- 객체를 만들지 않아도 사용할 수 있다.
- 여러 인스턴스가 하나의 값을 공유한다.
- 변하지 않는 값이나, 전체에서 공통으로 써야 하는 값에 적합하다.
class GameManager
{
public static int PlayerCount = 0;
}
3.6 클래스
클래스는 함수와 변수로 이루어진 집합이다.
클래스 안에 정의된 구성 요소들을 멤버라고 부른다.
- 종류
| 멤버 변수 | 데이터를 담는 역할을 한다 (string name, int level 등) |
| 멤버 메서드 | 기능을 수행하는 함수이다 (PrintInfo() 등) |
3.7 접근제한자 = 변수나 함수의 보안레벨 설정
| (생략) 또는 internal | 같은 프로젝트(어셈블리) 안에서만 접근 가능 |
| public | 어디서든 접근 가능 (다른 프로젝트에서도 사용 가능) |
C#에서 클래스를 선언할 때 접근 제한자를 명시하지 않으면,
기본적으로 internal로 간주된다.
internal class Monster
{
string name;
int level;
void PrintInfo()
{
Console.WriteLine($"{name}, {level}");
}
}
- 이 클래스는 같은 프로젝트 내에서만 사용 가능하다.
- 외부 프로젝트에서 사용하려면 public class Monster로 선언해야 한다.
3.8 $의 활용 (문자 열 안 변수 삽입)
C#에서 문자열 안에 변수를 직접 삽입할 수 있는 편리한 문법이 있다. 바로 $ 문자열 보간 (interpolation)이다.
string name = "기사단장";
int level = 99;
Console.WriteLine($"캐릭터 : {name}, 레벨 : {level} 생성 완료");
위 코드는 다음과 완전히 같은 의미이다:
Console.WriteLine("캐릭터 : " + name + ", 레벨 : " + level + " 생성 완료");
하지만 +를 계속 쓰는 방식은 가독성이 떨어지고, 실수도 잦다.
$ 보간 문자열은 컴파일 타임에 타입 검사도 가능해서 안정성이 높다.
*기본 코드를 적어보고 기본 문법들을 체험해보았다. 지금은 생소하지만 나중엔 구구단처럼 익숙해지지 않을까라는 생각이 들었다.
단축키를 손에 익히고 더 많은 단축키를 알아봐야겠다. C# 언어에 대해서도 더 알아보아야겠다.
'프로그래밍 > 유니티 부트캠프' 카테고리의 다른 글
| 멋쟁이사자처럼 유니티 부트캠프 6회차 추가학습(캐릭터 움직이기 / 깃 허브 / 유니티 C# 기초) (0) | 2025.05.20 |
|---|---|
| 멋쟁이사자처럼 유니티 부트캠프 5회차 추가학습(유니티 에디터 알아보기 / 게임 오브젝트 활용) (2) | 2025.05.20 |
| 멋쟁이사자처럼 유니티 부트캠프 4일차 추가학습(C#, Unity 에디터) (0) | 2025.05.19 |
| 멋쟁이사자처럼 유니티 부트캠프 2일차 (기본이해 + 형상관리툴) (5) | 2025.05.15 |
| 멋사 부트캠프 - 유니티 게임 개발 1일차 _ 비전공자 선발과정 / OT (0) | 2025.05.13 |