c#(35)
-
[C#] 구조체(Struct)와 생성자, this 키워드
구조체는 클래스와 마찬가지로 변수와 함수로 이루어져 있다. 데이터 중심 기반 구조체 (C 언어) public class TestScript : MonoBehaviour { public struct StructPos { public int x; public int y; public int z; } // Start is called before the first frame update void Start() { StructPos pos; pos.x = 10; pos.y = 20; pos.z = 30; print("x : " + pos.x + " y : " + pos.y + " z : " + pos.z); } } 객체 기반 구조체 (C# 언어) -내용은 모르는 채로 함수만 쓸 수 있는 경우 public cla..
2023.08.08 -
[C#] 함수의 오버로딩(Overloading)
오버로딩(Overloading) - 같은 함수 이름으로 데이터 형에 따라 다른 동작을 하게 만드는 방법 (정수형 입력 값은 정수형 출력, 실수형 출력 값은 실수형 출력) int Add(int a, int b) { return a + b; } float Add(float a, float b) { return a + b; } int와 float형 두 함수는 각각 다음과 같이 사용할 수 있다. int number1 = Add(3, 5); float number2 = Add(1.3f, 4.0f); iRandom = Random.Range(1, 10); fRandom = Random.Range(1.0f, 10.0f); 함수 오버로딩에 의하여 Random.Range 함수는 정수 값을 입력하면 정수 출력값이 나오고,..
2023.08.07 -
[Unity] 유니티 함수의 종류 (제작 함수, 이벤트 함수, 제공 함수)
제작 함수 필요한 기능을 직접 제작하여 사용하는 함수 이벤트 함수 Start 함수와 같이 자동적으로 실행되는 함수, 특정 지점에 실행되는 함수 제공 함수 print, Debug.Log 함수 같이 유니티에서 이미 만들어져서 제공하는 함수. 호출해서 사용할 수 있음. 클래스 최상단에 namespace라 부르는 using.unityengine; 부분이 Random.Range 등의 제공 함수를 사용할 수 있게 해 준다. namespace는 클래스를 관리하는 공간이다. Random.Range : Random 클래스의 Range 함수를 사용 int value = Random.Range(1, 10); namespace는 다음과 같이 임의로 작성할 수 있다. namespace Utility { public class ..
2023.08.07 -
[C#] 함수의 종류 (입출력이 없는 함수, 입력만 있는 함수, 출력만 있는 함수, 입출력이 있는 함수)
입출력이 없는 함수 void TestFunc() { ... } void는 출력이 없음을 뜻하고 함수명 뒤의 괄호가 비었다는 것은 입력이 없다는 것을 뜻한다. 입력만 있는 함수 함수 안의 변수는 분리되어 있기 때문에 입력이 따로 필요한 경우가 있다. void MyPrint(int a) { ... } 출력은 없으며 int 형의 a 매개변수를 입력받는 함수이다. void Start() { MyPrint(10); } 함수를 호출해서 쓰는 경우 위와 같은 형식으로 쓸 수 있다. (10은 인자(argument)) 출력만 있는 함수 int MyNumber() { int num = 10; retrun num + 2; } 함수 앞에 출력하고 싶은 Type을 적는다. 함수 종료 시 return 키워드로 출력값을 내보낸다...
2023.08.07 -
[C#] 콘솔과 유니티에서 숫자 입력값 받기
콘솔 실행창에서 Console.ReadLine(); 으로 입력값을 받을 때 string 형태를 받는 것이 일반적이므로 int a = Console.ReadLine(); 같이 쓰면 오류가 난다. 따라서 다음과 같은 방법으로 해결할 수 있다. TryParse float a, b; float.TryParse(Console.ReadLine(), out a); float.TryParse(Console.ReadLine(), out b); Convert int a; String aValue = Console.ReadLine(); a = Convert.ToInt32(aValue); 유니티에서는 다음과 같이 값을 입력받을 수 있다. public int aValue; public int bValue; void Start(..
2023.08.02 -
[C#] bool과 long의 형태
bool은 참 / 거짓을 가지는 형태이다. void Start() { bool check; check = true; print(check); bool a = false; print(a); } 위와 같이 bool에 대한 값을 출력하는 코드를 작성하면 각각 True, False 값이 나온다. 참/거짓 값을 저장하고 출력할 수 있다는 뜻이다. long은 int 값보다 더 큰 범위의 정수형을 나타낼 때 쓰인다.(int는 -20억~20억까지 쓰임) 정수를 입력할 때 L을 붙여 사용하며 int 형태 그대로 입력해도 된다. int 값을 long으로 대입하는 것은 오류가 없지만 long 값을 int로 대입하기 위해서는 강제형변환이 필요하다. void Start() { long longNum = 20L; print(lo..
2023.08.01