본문 바로가기

분류 전체보기

유니티와 C# 개념 정리_010_조건문 switch switch switch(스위치)문에 대해서는 이전에 작성한 글도 있으므로 참고한다.(유니티07_C#_03_제어문) switch(스위치)문은 if~else문 처럼 조건을 검사할 수 있지만 몇 가지 제약이 있다. 같은지 비교만 할 수 있다. 하나의 변수만 비교할 수 있다. 변수를 문자와만 비교할 수 있다.(다른 변수와 비교 안됨) 스위치문의 예는 다음과 같다. 유니티에서 아래 스크립트(Switch.cs)를 만든다. 스위치문의 기본 구조는 위 코드에서 분홍색 키워드로 이루어져 있다. 5번줄: int 타입의 number(숫자)라는 변수를 정의하고 초기값으로 5를 저장한다. 9번줄: switch문으로 비교한다. 괄호안에 비교할 대상(변수)를 넣는다. 11번줄: case(케이스, 경우) 키워드로 비교할 숫자를 지.. 더보기
유니티와 C# 개념 정리_009_조건문 if , ++ , -- if (이프) 문에 대해서는 이전에 작성한 글도 있으므로 참고한다.(유니티07_C#_03_제어문) 조건문(Conditional Statements)을 사용하면 흐름을 다른 방향으로 바꿀 수 있다. 즉, bool의 true값 또는 false값에 따라 각각 다른 코드를 실행한다. 조건문의 가장 일반적인 형태는 if (이프)와 switch (스위치)를 사용하는 것이다. if 조건문 if조건문의 형태는 다음과 같다. if (true) { } 괄호 안의 내용이 true(참)이면 중괄호 { } 안의 코드를 실행한다. false(거짓) 이면 실행하지 않는다. 게임에서 종종 나오는 코드를 유니티에서 만들어 본다. 유니티에서 IfStatement (if문)이라는 스크립트를 만들고 아래와 같이 코드를 작성한다. 5번줄에서.. 더보기
유니티와 C# 개념 정리_008_Bool과 연산자 bool 타입 bool(부울) 타입은 true(참)과 false(거짓) 값만 저장할 수 있지만 조건문과 결합하면 코드의 흐름을 조절할 수 있는 강력한 도구가 된다. bool에 사용하는 연산자 bool값의 연산에 사용하는 기호는 다음과 같다. ! (exclamation mark, 엑스클러매이션 마크) & (ampersand, 앰퍼샌드) | (vertical bar, 버티클 바) 각각 기호의 이름이 있지만 간편하게 not(낱, 아님)연산자, and(앤드, 그리고)연산자, or(오어, 또는)연산자라고 부른다. ! (NOT 연산자) : 느낌표(!)는 부정 연산자이며, bool값 앞에 붙여서 not(아님)의 뜻으로 사용하여 그 값을 반대로 만든다. !true는 false가 된다. !false는 true가 된다. .. 더보기
유니티와 C# 개념 정리_007_Unity의 변수 타입 유니티에서만 사용하는 변수 타입들이 있다. 이전 글 '타입과 초기화'에서 언급한 클래스 타입들이다. 유니티 사용에 도움을 주기 위해 이미 만들어진 수 많은 클래스들이 있다. 그 클래스들을 변수 타입으로 사용해서 다양한 기능을 구현할 수 있다. 클래스 타입을 만든다는 것은 클래스의 개체를 만든다는 뜻이다. 이전 글(C# 특징과 기본 구조)에서 클래스로 부터 new 키워드로 클래스의 오브젝트(개체)를 만들 수 있고, 이 개체로 부터 클래스 타입 변수를 사용해서 인스턴스(instance, 예, 복제)가 생성할 수 있다고 했다. 인스턴스를 통해서 클래스 안에 있는 변수와 함수를 활용할 수 있다. 유니티에서 C# 스크립트를 만들면 제일 위에 using UnityEngine; 코드가 있다. 이것은 UnityEngi.. 더보기
유니티와 C# 개념 정리_006_함수(메서드) 메서드(함수)의 탄생 앞에서 보았듯이 데이터를 저장하기 위해 변수(Variable)를 사용한다. 예를 들어 정수 타입의 두 변수(numberA, numberB)를 선언하고, 각각 1과 2로 초기화 한 후 addTwoNumbers(두 수 더하기)라는 변수에 두 변수를 더해서 넣는 코드를 아래와 같이 작성했다고 하자. int numberA = 1; int numberB = 2; int addTwoNumbers = numberA + numberB; 만약 이 코드를 프로젝트 안의 다른 곳에서 또 사용해야 한다면 코드를 복사해서 붙여넣을 수 있을 것이다. 하지만 여러번 사용해야 하고 더하는 숫자도 그때 마다 달라진다면 번거러울 뿐만 아니라 코드가 난잡하게 될 것이다. 이런 불편함을 없애고 코드를 깔금하게 정리할 .. 더보기
유니티와 C# 개념 정리_005_타입과 초기화 타입(Type) 흔히 메모리를 임시 작업대 또는 저장소로 비유한다. 메모리에 변수를 사용해서 데이터를 저장하거나 참조한다. 그래서 변수는 임시 작업대 위에 올려진 상자에 비유하기도 한다. 변수의 타입은 변수라는 상자 안에 넣을 수 있는 유형을 정해 둔 것이다. C#에서 변수는 모양과 크기가 다른 상자를 준비해야 한다. 이것을 앞 글에서 Strongly typed(강한 타입화)라고 했다. 반면에 약한 타입화를 가진 어떤 언어에서는 모양,크기에 상관없이 무엇이든 넣을 수 있는 상자를 만들 수 있기도 하다. 어쨌든 C#에서 변수를 사용하려면 을 지정하고 을 지어야 한다. 타입이 지정된 변수는 해당 타입에 맞는 값만 넣거나 뺄 수 있다. 타입의 종류 타입은 크게 built-in type (빌트인 타입; 미리 만.. 더보기
유니티와 C# 개념 정리_004_변수 선언과 할당 C#의 문법 컴퓨터 언어의 문법(규칙)을 Syntax(씬택스)라고 한다. syn은 '함께'라는 뜻이다. tax, tact는 '배열하다'라는 뜻이다. Syntax는 명령문 작성법이라고 할 수 있다. 컴퓨터에게 일을 시키려면 컴퓨터가 알아 들을 수 있도록 명령을 내려야 한다. 이 명령을 대신해 주는 것이 프로그래밍 언어다. 컴퓨터는 계산만 잘하는 부품 상자다. 언젠가는 이걸 뛰어넘어 Skynet 같은 것이 될 수도 있겠지만, 지금까지는 시키는 계산만 잘 하는 수준이다. 프로그래밍 언어는 컴퓨터에게 계산 명령을 내리기 위해 정확하고, 확실하고, 빈틈없는 논리로 만들어져 있다. 사람의 언어는 한 두 글자 틀리거나 잘못 적어도 읽는 사람이 똑똑하므로(?) 이해하고 넘어갈 수 있다. 하지만 프로그래밍 언어는 글자 .. 더보기
유니티와 C# 개념 정리_003_C# 언어의 특징과 기본 구조 이 글 부터 유니티에서 사용하는 C# 문법에 대해 정리한다. 주로 유니티와 관련한 내용을 정리할 것이다. 다루지 않은 내용은 카테고리 [프로그래밍 언어]에 있는 Kotlin(코틀린) 언어와 중복되므로 생략한다. C# 언어의 특징 1. Object-Oriented Programming 언어 C#의 가장 핵심적인 특징은 Object-Oriented Programming(OOP : 개체 지향 프로그래밍) 언어이다. OOP의 대표적인 언어는 Java, Python, C++, Ruby, C# 등이 있다. 이 개념은 Java에서 파생한 Kotlin(코틀린) 언어에서 알아보았기 때문에 생략한다.(코틀린 더파기_13) 참고로 Object(오브젝트)는 이전에 '객체'라고 해석했는데 '개체'라고 해야 한다는 주장이 있다... 더보기