Unity - C# 프로그래밍 기초

TXMAY·2023년 7월 11일
1

Unity 튜토리얼

목록 보기
3/33
post-thumbnail

이번 강좌는 솔직히 글을 쓸까 말까 고민을 좀 했다.
왜냐하면 이번 강좌 내용이 변수나 연산자 같은 내용이었기 때문이다.
언어별로 차이가 좀 있는 것은 사실이지만 C#은 C와 C++과 비슷해 보여 그냥 넘어갈까 싶었다.
그렇지만 내가 모르는 내용도 있고 복습한다고 생각하고 글을 쓰기로 했다.


변수

변수 : 데이터를 메모리에 저장하는 장소
자료형

  • int : 정수형 데이터
  • float : 숫자형 데이터(값 뒤에 'f'를 꼭 붙여야 함)
  • string : 문자열 데이터(큰따옴표 안에 값을 적음)
  • bool : 논리형 데이터

선언 : 변수의 자료형과 이름을 정함
초기화 : 선언한 변수에 값을 넣음
프로그래밍은 선언 > 초기화 > 호출(사용)의 순서로 흘러감
주석 : 실행되지 않는 메모와 같은 역할('//'를 앞에 붙여 사용)
지역변수 : 함수 안에서 선언된 변수(함수를 벗어나면 사용 불가능)
전역변수 : 함수 바깥에 선언된 변수

그룹형 변수

그룹형 변수 : 변수들을 묶은 하나의 장소
종류

  • 배열 : 가장 기본적인 고정형 그룹형 변수(자료형 앞에 '[]'를 붙이고 초기화할 값들을 '{}'로 감싸거나 'new 자료형[배열크기]'로 초기화한 후 값을 대입함)
  • 리스트 : 기능이 추가된 가변형 그룹형 변수('List<자료형> 리스트명 = new List<자료형>()'으로 선언)
    • 리스트명.Add() : 리스트에 값을 대입
    • 리스트명.RemoveAt() : 해당 순번의 값을 삭제

프로그래밍에서 시작 순번은 0
크기를 벗어난 탐색은 오류를 발생
그룹형 변수 길이 : 배열명.Length, 리스트명.Count

연산자

연산자 : 상수, 변숫값을 연산해 주는 기호
종류

  • 산술연산자
    • + : 두 값을 더함
    • - : 두 값을 뺌
    • * : 두 값을 곱함
    • / : 두 값을 나눔(정수형으로 계산 시 몫이 나옴/숫자형으로 계산 시 소수점까지 나눈 값이 나옴(오차 있음)
    • % : 두 값을 나누고 그 나머지를 출력함
  • 비교연산자(조건이 맞으면 True, 아니면 False를 반환함)
    • == : 일치
    • != : 불일치
    • > : 초과
    • < : 미만
    • >= : 이상
    • <= 이하
  • 논리연산자
    • &&(AND) : 두 값이 참이면 True, 아니면 False를 반환함
    • ||(OR) : 두 값 중 하나라도 참이면 True, 아니면 False를 반환함
    • ^(XOR) : 두 값이 다르면 True, 아니면 False를 반환함
    • !(NOT) : 값이 False면 True, 아니면 False를 반환함
  • 조건식 ? A : B(삼항연산자) : 조건식이 참이면 A, 아니면 B를 반환함

키워드

키워드 : 프로그래밍 언어를 구성하는 특별한 단어
키워드는 변수 이름, 값 등으로 사용 불가

조건문

조건문 : 조건에 만족하면 로직을 실행하는 제어문
종류

  • if(조건문) {코드} : 조건이 참이면, 코드 실행
  • else {코드} : 앞에 if가 거짓이면 코드 실행
    • else if(조건문) {코드} : 앞에 if가 거짓이고, 조건이 참이면 코드 실행
  • switch(변수){ case 값: 코드; break; ... default: 코드; break;} : 변수의 값에 따라 로직 실행
    • default : 모든 case를 통과한 후 실행(변숫값에 일치하는 case가 없으면 실행)

반복문

반복문 : 조건에 만족하면 로직을 반복하는 제어문
종류

  • while(조건) {코드} : 조건이 참이면, 로직 반복 실행
  • for(초기화식;조건식;증감식) {코드} : 변수를 연산하면서 로직 반복 수행(초기화식, 조건식, 증감식은 생략 가능(단, ;는 생략 불가능))
    (초기화식 -> 조건식 -> (조건식이 참이면) 코드 -> 증감식 -> 조건식 -> ...)
  • foreach(자료형 변수명 in 그룹형 변수명) {코드} : for의 그룹형 변수 탐색 특화(그룹형 변수에 있는 값을 순서대로 변수에 넣음)

break : 가장 가까운 반복문 및 switch문에서 벗어남

함수

함수 : 기능을 편리하게 사용하도록 구성된 영역
함수반환자료형 함수명(자료형 매개변수명) {코드}로 선언
함수명(매개변수로 사용할 변수명)으로 사용
return : 함수가 값을 반환할 때 사용
void : (함수반환자료형에서) 반환 데이터가 없는 함수 타입, (매개변수에서) 매개변수가 없는 함수 타입(생략 가능)

클래스

클래스 : 하나의 오브젝트와 대응하는 로직
class 클래스명 {코드}로 선언
인스턴스 : 정의된 클래스를 변수 초기화로 실체화
클래스명 변수명 = new 클래스명()으로 인스턴스함
접근 제한자 : 타입(클래스)의 범위와 멤버(변수, 함수 등)의 접근 범위를 정의함
종류

  • private : 외부 클래스에 비공개로 설정하는 접근자
  • public : 외부 클래스에 공개로 설정하는 접근자

상속 : 클래스의 모든 멤버를 물려받음(물려주는 클래스를 부모 클래스, 물려받는 클래스를 자식 클래스라고 함)(단, private 멤버는 물려받을 수 없음)
class 클래스명 : 부모 클래스명 {코드}로 상속받음
MonoBehaviour : 유니티 게임 오브젝트 클래스


약간 아쉬운 내용도 조금 있었지만, 입문자가 보기에는 적합하다는 생각이 들었다.
foreach 같은 경우에는 나도 몰랐기에 한번 정리하는 게 도움이 되었다.

profile
게임 개발 공부하는 고양이

0개의 댓글