(VR/AR 콘텐츠 개발) Unity 프로젝트 기반 메타버스 게임 개발자 양성_수업노트_1

윤건우
∙∙조회 32

2026.4.29

Pixel = Picture + Element
화면을 구성하는 가장 작은 사각형 단위의 '점'
각 픽셀은 단 하나의 색상 데이터 (RGB 숫자)를 가짐

배열 (Array)
"같은 종류" 의 데이터를 순서대로 나란히 늘어놓은 기차 형태의 보관함
2차원 배열은 사람이 찾기 쉬운 방식:

구조체 (Struct)
"서로 다른 종류" 의 데이터를 하나의 논리적인 단위로 묶어 놓은 맞춤형 상자
순서가 아닌 이름(역할)로 정렬

알고리즘 (Algorithm)
어떤 문제를 해결하기 위해 컴퓨터가 수행해야 하는 명확하고 순차적인 단계들의 집합

  • 알고리즘의 3대 핵심 구조:
    순차( Sequence): 위에서 아래로 차례대로 한 줄 씩 실행
    선택 (Selection): 조건에 따라 갈림길을 선택
    반복(Iteration): 특정 조건이 만족 될 때까지 동작을 반복

선형탐색 VS 이진탐색
선형탐색: 나열된 순서 순으로 탐색하는 방식
이진탐색: 데이터의 절반을 비교하여 탐색하는 방식 (효율적인 탐색 가능)

정렬된 데이터를 이용해서 탐색(알고리즘)을 단축시킬수 있다.
데이터의 보관방법 (자료구조) 또한 효율적인 알고리즘을 만들기 위한 하나의 조건

버그(Bug) 와 디버깅(Debugging)
버그: 알고리즘( 순서와 논리) 를 잘못 설계했을 때 발생하는 오류
디버깅: 그 오류를 찾고 고치는 과정

버그와 디버깅 순서

  1. 버그를 확인
  2. 버그를 재현
  3. 로그 및 출력을 확인
  4. 디버깅 도구 사용
  5. 버그 수정 (코드를 수정함)
  6. 테스트 진행

의사코드 (Pseudocode) 와 순서도 (Flowchart)
: 복잡한 프로그래밍 문법에 얽매이지 않고, 논리에만 집중하기 위해 사람의 언어나 그림으로 먼저 스케치하는 과정

의사코드(텍스트 스케치) 작성의 표준

  1. 한 줄에 하나의 명령만
  2. 코드가 아니라 하고자 하는 행동이나 조건을 표현
  3. 단순한 구조의 문장을 이용해서 필요한 모든 것을 기록 (변수를 사용해도 ok. 단 의미가 명확 해야함)
  4. 블록을 이용하여 구조를 정리해준다. 보통 들여 쓰기 (Tab)을 사용하여 각 명령문 간의 관계를 보여준다

프로그래밍 : Visual Studio

arduino
int myMoney; // 1. 변수의 선언
myMoney = 100; // 2. 변수에 값 할당

"=" 키워드는 할당을 하겠다는 표현이다. "할당 연산자","대입 연산자" 라고 불린다

변수는 데이터를 담는 공간이다. 컴파일러에게 변수를 알려주고 싶을 때 공간 - {},네이밍, 자료형을 알려줘야 한다.
csharp
변수의 사용할 수 있는 기본자료형
1. 정수형 = int, byte, (long, short) = -1 , 0 , 1, 2, 3 ...
 => 정수를 의미합니다
 => int는 4바이트의 크기를 가지며, -2,147,483,648부터 2,147,483,647까지의 범위를 가집니다.

2. 소수점 = float, (double) = 3.14, 0.1, 0.3333 ...
=> 소수점으로 표현하는 수
=> 실수형이라 불린다

3. 논리형 = bool = true, false (참, 거짓) 을 구분함
4. 문자형 = char(문자), string (문자열) = A (문자) "안녕하세요" (문자열)
csharp
 static void Operation()
 {
      연산자 (Operation)
     컴퓨터가 연산을 수행하도록 지시하는 특별한 기호
     변수들을 사용해서 데이터를 처리하고 조작하는데 사용

     산술 연산자 (+, -, *, /, %) * 곱하기, / 나누기, % 나머지
예)
     int number = 100;
     Console.WriteLine($"덧셈 : {number + 50}");
     Console.WriteLine($"뺄셈 : {number - 25}");
     Console.WriteLine($"곱셈 : {number * 2}");
     Console.WriteLine($"나눗셈 : {number / 5}");
     Console.WriteLine($"나머지 : {number % 3}");

 }
csharp
 비교 연산자
 참, 거짓 형태로 연산 결과를 반환 합니다
 >, <, >=, <=, --, !=, ==     != 같지 않다, == 같다

 number = 500; // number 변수에 새로운 수 500을 할당
 bool isBigger = number > 100;
 Console.WriteLine($"number > 100 : {isBigger}"); // true
 isBigger = number > 1000;
 Console.WriteLine($"number > 1000 : {isBigger}"); // false

 bool isSame = number == 250;
 Console.WriteLine($"number == 250 : {isSame}"); // false
 isSame = number == 500;
 Console.WriteLine($"number == 500 : {isSame}");

 int numberA = 100;
 int numberB = 100;
 int numberC = 150;

* >= A 가 B 보다 크거나 같다
 bool isbiggerOrEqual = numberA >= numberB;
 Console.WriteLine($"numberA >= numberB : {isbiggerOrEqual}");
 isbiggerOrEqual = numberC >= numberA;
 Console.WriteLine($"numberC >= numberA : {isbiggerOrEqual}");
 isbiggerOrEqual = numberC <= numberA;
 Console.WriteLine($"numberC <= numberA : {isbiggerOrEqual}");

* != 같지 않다
 bool isdifferent = numberA != numberB;
 Console.WriteLine($"numberA != numberB : {isdifferent}");
 isdifferent = numberA != numberC;
 Console.WriteLine($"numberA != numberC : {isdifferent}");