이번 강좌는 솔직히 글을 쓸까 말까 고민을 좀 했다.
왜냐하면 이번 강좌 내용이 변수나 연산자 같은 내용이었기 때문이다.
언어별로 차이가 좀 있는 것은 사실이지만 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 같은 경우에는 나도 몰랐기에 한번 정리하는 게 도움이 되었다.