Carrot
본문 바로가기
Unity/멋쟁이사자처럼 부트캠프

[멋쟁이사자처럼부트캠프] 유니티 게임 개발 5기(3일차) - Visual Studio를 이용한 C# 프로그래밍 기초

by 독기품은토끼 2025. 5. 15.
✅ 오늘의 학습 목표
C# 경험해 보기

 

1. 프로젝트 생성

새 프로젝트 만들기 -> 콘솔 앱 -> 프로젝트명 및 경로 설정 -> 최상위 문 사용 안 함 체크 후 만들기

 

와 근데 폰트 진짜 너무 못생겨서 바꿔줬음

 

귀차니즘 girl이라 '확장 - 확장 관리'에서 테마 다운로드 해서 바꿔줬음 / 폰트는 Cascadia Code Light

 

[Visual Studio 단축키 모음]

- 주석 단축키 : Ctrl + K + C

- 주석 해제 단축키 : Ctrl + K + U
- 뒤로 가기(Undo) : Ctrl + Z
- 앞으로 가기(Redo) : Ctrl + Shift + Z
- 복사 : Ctrl + D
- 전체 줄 입력 : Shift + Alt
- 특정 줄 선택 입력 : Ctrl + Alt

- Console.WriteLine(); : cw + Tab

 

[네이밍 표기법]

- Passcal Case : 모든 단어의 첫 글자는 대문자 (MyName )

- Camel Case : 첫 단어만 소문자로 시작, 이후 단어는 대문자 (myName )

- Snake Case : 모든 단어를 소문자, 단어 사이를 언더바로 구분 (my_name)

 

[사용 불가 표기 (타입명, 기본 명령어 등)]

break, case, char, const, continue, default, short, double, else, enum, float, for, foreach, do, while, if, switch, int, long, return, signed, unsigned, sizeof, static, typedef, void

 

2. 함수

함수 : 기능 처리를 위한 작업의 단위

namespace Test
{
    internal class Program
    {

        static void Main(string[] args)
        {
            Console.WriteLine("B");
            Console.WriteLine("A");

            PrintMessage(); // 함수 호출문
        }

        // 함수 생성 (호출을 하지 않으면 실행되지 않음)
        static void PrintMessage()
        {
            Console.WriteLine("C");
        }
    }
}

 

 

3. 변수

변수 : 가변 데이터

상수 : 불변 데이터

 

- 변수 종류

구분 위치 수명 접근 방법
지역변수 함수 내부 함수 실행 시 생성, 끝나면 소멸 직접 사용 가능
멤버변수 클래스 내부 객체 생성 시 생성, 객체 소멸 시 함께 소멸 this.변수명 또는 그냥 변수명
전역변수 (static) 클래스 내부, static 선언 프로그램 실행 시 생성 클래스명.변수명

 

- 변수 선언(초기화, 할당)

 

- Type (타입)

타입 크기
bool true 또는 false 1 byte
int 정수 (-2,147,483,648 ~ 2,147,483,647) 4 bytes
long 정수 (-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807) 8 bytes
float 실수 (±1.5 × 10⁻⁴⁵ ~ ±3.4 × 10³⁸) 4 bytes
double 실수 (±5.0 × 10⁻³²⁴ ~ ±1.7 × 10³⁰⁸) 8 bytes
char 유니코드 문자 (예: 'A', '한') 2 bytes
string 유니코드 문자열 (예: "Hello") 가변적
object 모든 타입의 최상위 타입 가변적

 

namespace Test
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 숫자 타입
            int number1 = 0;
            int number2 = 10;

            float number3 = 0.3f;
            float number4 = 10.0f;
            float number5 = 0.0f;

            double number6 = 0.3d;
            double number7 = 10.123d;
            double number8 = -3.7d;

            bool isOn = true;
            bool isMute = false;

            char character1 = 'A';
            char character2 = '안';

            string str1 = "A";
            string str2 = "안녕하세요";


            Console.WriteLine("Hello World");
        }
    }
}

 

 

- Const, Readonly, Static 차이점

구분 설명 초기화 시점 변경 가능 여부 위치
const 상수, 변하지 않는 값 컴파일 타임 한 번 정하면 변경 불가 클래스 또는 지역 변수
readonly 읽기 전용 필드, 한 번 설정하면 변경 불가 런타임 (생성자에서 가능) 생성자에서 한 번 설정 가능 클래스의 필드로만 사용
static 공용 변수, 클래스 단위로 존재 클래스가 처음 로드될 때 변경 가능 클래스 내부 (전역처럼 사용)

 

 

const는 컴파일 타임 → 레시피에서 잘못된 재료 넣은 것 = 컴파일 에러

readonly는 런타임에서 한 번만 설정 가능 → 조리 중 재료 넣을 수는 있지만 한 번만

static은 클래스 전체에서 공유되는 변수 → 공용 냉장고

 

 

4. 클래스

클래스 : 함수와 변수로 이루어진 집합으로, 클래스를 활용하여 객체(Object) 생성

 


 

✅ 예제
Player라는 타입의 Player들을 생성하고,
해당 Player는 name과 level 필드를 갖도록 클래스를 생성한다.

 

- 매개변수 활용

매개변수 : 함수에서 사용할 재료로 함수 호출 시 재료값(파라미터 값)을 같이 선언함

 

 

- 생성자 활용

 

5. 조건문

예제 추가 구현
Player의 레벨을 상승시키는 메소드를 구현한다.

 

 

 


 

 

 

오늘은 부캠 3일차

총 116일(6개월) 과정인데 아직도 Unity 활용을 1도 안 했다!!!

다른 기수들 블로그 보면 진작 하고도 남았던데 지금 이게 맞나 싶음 🙄

그리고 분명 중상급 부캠이라 들었는데 왜캐 오랫동안 기초만 알려주는겨 ^^^^

진짜 이러다 내가 아는 unity 기능만 배우고 끝나는 거 아냐..? 6개월 날리는 걸까 봐 조마조마핑

이제 행정처리도 완료된 상태라 수강 번복도 못하는 상황..

어쩌지.. 일단 계속 존버해 봐야지.. 믿는다 멋사..^^