김김김의 게임개발
  • C# #0 - 간단한 예습
    2023년 08월 11일 20시 03분 22초에 업로드 된 글입니다.
    작성자: noun06

    본격적인 문법 공부에 들어가기 전 사전 지식들과 용어 등을 간단하게 정리해보았습니다.


    1. 변수

    • 변수(Variables) : 어떤 값을 저장하기 위한 이름을 가진 공간.
    • int : 정수형
    • float : 숫자형
    • string : 문자형
    • bool : 논리형
    //자료형 변수명 = 값
    int age = 10;
    float time = 2.2f;
    string name  = "Kim";
    bool isGround = false;

     

    • 선언 : 변수의 자료형과 이름을 정하는 것
    • 초기화 : 값을 넣는 것
    • 호출 : 사용하는 것

     

    2.그룹형 변수

    • 그룹형 변수 : 변수들을 묶은 하나의 공간.
    • 배열(Array) : 동일한 자료형의 변수를 모아놓은 변수 그룹.
    • 배열의 길이 : 변수명.Length
    //자료형[] 변수명 = {데이터1, 데이터2, ...}
    int[] years = {2020,2021,2022};
    years[0]; //2020
    years[1]; //2021
    years[2]; //2022
    
    //자료형[] 변수명 = new 자료형[n]
    string[] names = new string[2];
    names[0] = "Hana";
    names[1] = "Dul"

     

    • 리스트(List) : 기능이 추가된 가변형 그룹형 변수.
    • 리스트의 길이 : 변수명.Count
    //List<자료형> 변수명 = new List<자료형>(); //제네릭
    List<string> items = new List<string>;
    
    //변수명.Add("내용")을 통해 추가
    items.Add("Egg");
    items.Add("Bread");
    
    //변수명.RemoveAt(n)을 통해 삭제
    items.RemoveAt(0); //"Egg" 삭제

     

    3.연산자

    • 연산자(Operator) : 연산(주어진 식을 계산하여 결과를 산출하는 것)을 위해 사용하는 기호.
    • 사칙연산 / 증감연산
    // + , - , * , / , %
    int sum = 1 + 1; //2
    int dif = 2 - 1; //1
    int product = 3 * 2; //6
    int quotient = 20 / 4; //5
    int remainder = 20 % 3; //2
    
    // ++ , --
    int num = 5
    num ++; //6
    num --; //4

     

    • 비교연산 / 논리연산
    //==
    bool isEqual = 10 == 10; // true
    //!=
    bool isNotEqual = 5 != 7; // true
    //> , < , >= , <=
    bool isGreater = 8 > 5; // true
    bool isLess = 3 < 2; // false
    bool isGreaterOrEqual = 6 >= 6; // true
    bool isLessOrEqual = 4 <= 2; // false
    
    //&&(AND)
    bool isTrue = (5 > 3) && (10 < 15);  // true
    bool isFalse = (2 < 1) && (7 > 5);   // false
    //||(OR)
    bool isTrue = (5 > 3) || (2 < 1);   // true
    bool isFalse = (2 > 3) || (7 < 5);  // false
    //!(NOT)
    bool isTrue = !(5 > 3);  // false
    bool isFalse = !(2 < 1); // true

     

    • 조건부연산
    // 자료형 변수명 = 연산식 ? A : B
    // true일 때 A, false일 때 B
    int a = 10, int b = 20
    string result = a < b ? "T" : "F"; //T
    bool result2 = a < b ? true : false; //true

     

    4.조건문

    • 조건문 : 조건에 만족하면 로직을 실행하는 제어문.
    • if - else
    if (condition == "bad") // 조건식
    {
    	Console.WriteLine("Condition is bad"); // 조건이 true일 때, 로직 실행
    }
    else
    {
    	Console.WriteLine("Condition is good"); // 앞의 if 가 실행되지 않으면 실행
    }

     

    • switch - case
    Console.Write("요일을 숫자로 입력하세요 (1-7): ");
    int dayNumber = Convert.ToInt32(Console.ReadLine());
    
    switch (dayNumber) //비교할 변수
    {
        case 1: //값이 1인 케이스
        	Console.WriteLine("월요일");
            break; //해당 케이스 코드의 실행을 종료하고 switch문을 빠져나감
        case 2: //값이 2인 케이스
            Console.WriteLine("화요일");
            break;
         //...
        default: //어떠한 케이스에도 해당하지 않을 때
            Console.WriteLine("잘못된 입력");
            break;
    }

     

    5.반복문

    • 반복문 : 조건에 만족하면 로직을 반복하는 제어문.
    • while
    int num = 1;
    
    while (num <=5) //조건식
    {
        Console.WriteLine(num);
        num++; //조건식이 true일 경우 반복하여 실행되는 코드
    }

     

    • for
    for (int num = 1; num <= 5; num++) // for(초기화식; 조건식; 반복식)
    {
    	Console.WriteLine(num); // 조건식이 true일 시 실행되는 코드
    }
    
    //그룹형 변수에서도 사용
    string[] monsters = {"AA", "BB", "CC"}
    
    for (int index = 0; index < monsters.Length; index++)
    {
    	Debug.Log("몬스터 출현 : " + monsters[index]); //"AA", "BB", "CC" 차례대로 출력
    }

     

    • foreach
    //foreach는 for의 그룹형 변수 탐색 특화
    string[] monsters = {"AA", "BB", "CC"}
    
    foreach (string monster in monsters)
    {
    	Debug.Log("몬스터 출현 : " + monster); //"AA", "BB", "CC" 차례대로 출력
    }

     

    • break
    //break는 반복문 내부에서 사용되며 실행 중인 반복문을 즉시 종료하고 루프를 벗어나는데 사용됨.
    int num = 1;
    
    while (num <=5)
    {
        Console.WriteLine(num);
        
        if (num == 2)
        {
        	break; //num이 2일 때 반복문 종료
        }
        
        num++;
    }

     

    • 무한루프 : 조건식이 항상 true인 상태에서 코드를 반복 실행하는 루프 (유니티에서는 특히 사용을 주의해야함).

     

    6.함수

    • 함수(Function) : 프로그램 내에서 특정 작업을 수행하기 위해 코드를 묶어 놓은 블록, 메서드(Method)라고도 불리움.
    [접근제한자] 반환타입 함수이름(매개변수)
    {
        // 함수가 수행할 작업을
        return 반환값; // 반환 타입이 void가 아닌 경우
    }

     

    • 접근 제한자(Access Modifier) : 함수가 어디에서 접근 가능한지를 나타내는 키워드(public, private, protected, internal)
    • 반환 타입(Return Type) : 함수가 값을 반환할 때의 데이터 타입. 반환값을 갖지 않는 경우 'void' 사용.
    • 반환 : 함수의 실행이 끝난 후 함수 호출 지점으로 결과값을 전달하는 것.
    • 매개변수(Parameters) : 함수 호출 시 함수 내부로 전달되는 값. 
    • 반환 값(Return Value) : 함수가 실행을 완료하고 반환하는 값.
    • static 키워드 : ??
    public static int AddNumbers(int a, int b)
    {
        int sum = a + b;
        return sum; //sum 값을 반환
    }
    
    static void Main()
    {
        int result = AddNumbers(5, 3); //함수 호출 후 반환값을 result에 저장
        Console.WriteLine("결과: " + result);
    }

     

    7.클래스

    • 클래스 : 객체(오브젝트)의 설계도 역할을 하며, 객체의 속성과 동작을 정의함.
    • 유니티 내에서는 하나의 오브젝트와 대응하는 로직으로 보통 하나의 스크립트 == 하나의 클래스.
    • 인스턴스(instance) : 정의된 클래스를 변수 초기화로 실체화하는 것.
    • private 접근자 : 외부 클래스에 비공개로 설정하는 접근자.
    • public 접근자 : 외부 클래스에 공개로 설정하는 접근자.
    • 상속관계 : ??

     

     

     

     

     

    댓글