분류 전체보기 (162) 썸네일형 리스트형 [유니티] 오브젝트의 이동 (transform.Translate, transform.Rorate) 오브젝트 이동 메서드 transform.Translate() 메서드를 이용하여 오브젝트를 이동시킬 수 있다.아래 코드를 오브젝트에 적용시킨 후 실행시키면 해당 오브젝트가 우측으로 움직이는 것을 볼 수 있다. using System.Collections;using System.Collections.Generic;using UnityEngine;public class NewBehaviourScript : MonoBehaviour{ // Start is called before the first frame update void Start() { } // Update is called o.. [유니티] 키보드, 마우스 입력 처리 함수 Input Class 유니티에서 제공하는 Input 클래스를 이용하여 키보드, 마우스의 입력을 받을 수 있다. 키보드 입력 Input 클래스의 GetKey 메서드를 사용하면 해당 키가 눌렸을 때 True 값을 반환받을 수 있다. GetKey 메서드는 키가 눌려있는 동안 True를 반환하고 GetKeyDown 메서드는 키가 눌릴 때 True를 반환하고 GetKeyUp 메서드는 키를 뗄 때 True를 반환한다. 위 메서드들은 해당하는 상황이 아닐 때에는 항상 False 를 반환한다. 따라서 아래 코드를 실행시켜보면 'w' 를 누를 때에는 True 가 출력되며 그렇지 않을 때에는 False 가 출력된다. using System.Collections; using System.Collections.Ge.. [C#] 인스턴스, 싱글턴 인스턴스 new 연산자를 사용하여 메모리를 할당해 준 실체화된 객체를 인스턴스라고 한다. 싱글턴 패턴 싱글턴 패턴이란 정적 필드를 응용하여 클래스의 인스턴스를 단 하나만 생성하도록 만든 것이다. 싱글턴 패턴은 생성자의 접근 제한자를 private 으로 설정하여 외부에서 인스턴스 생성을 제한하고 하나의 인스턴스만 클래스 내부에서 미리 만들어서 사용할 수 있다. 싱글턴 패턴을 사용할 때에는 정적 필드로 객체를 생성해 주고 클래스 외부에서 인스턴스를 사용하기 위해서 클래스에 접근한 후에 선언한 정적 필드에 접근한 후에 객체를 사용할 수 있다. 이를 코드로 작성해 보면 아래와 같다. using System; namespace ConsoleApp1 { public class Person { static.. [C#] 정적 필드 정적 필드 만약 클래스의 객체가 생성될 때마다 증가하는 필드를 선언하고 싶어서 다음과 같은 코드를 작성하였다고 해보자. using System; namespace ConsoleApp1 { public class Print { public int calltimes; public Print() { Console.WriteLine("Hello World!"); calltimes++; } } class Program { static void Main(string[] args) { Print print1 = new Print(); Console.WriteLine(print1.calltimes); Print print2 = new Print(); Console.WriteLine(print2.calltimes); }.. [C#] 생성자, 소멸자 생성자 C# 클래스에는 생성자라는 메서드가 존재한다. 이 생성자의 역할은 객체가 생성되는 순간에 메서드를 실행시킨다. 생성자를 정의하는 방법은 클래스 안에 접근제한자와 클래스명을 명시해주고 반환값이 없는 메서드를 생성해주면 된다. 따라서 다음 코드와 같이 작성할 수 있다. using System; namespace ConsoleApp1 { class Student { public string name = "enchupin"; public int ID = 20230817; public Student(string n) { Console.WriteLine("이름 : "+n); } } class Program { static void Main(string[] args) { Console.WriteLine("st.. [C#] 오버로딩 오버로딩 C#에서는 메서드를 사용할 때 오버로딩이 가능하다. 오버로딩이란 같은 이름의 메서드를 여러 개 선언하여 사용하는 것을 의미한다. 이때 이름이 같은 메서드끼리 매개변수의 차이를 이용하여 구분할 수 있다. 예를 들어 이름이 같더라도 매개변수가 int형인 메서드와 string형인 메서드는 다른 메서드처럼 사용할 수 있는 것이다. 이를 코드로 확인해보면 다음과 같다. using System; namespace ConsoleApp1 { public class AllFunc { public void writefunc(string name) { Console.WriteLine("이름 : "+name); } public void writefunc(int ID) { Console.WriteLine("학번 : ".. [C#] 클래스 메서드 (Method) 클래스에 대해 공부하면서 메서드라는 용어를 알게 되었다. 메서드는 단순히 C/C++ 에서의 함수와 같다고 보면 된다. 필드 (Field) 필드는 클래스에 정의된 속성을 의미한다. 단순히 말하자면 클래스에 정의된 변수들을 의미한다고 보면 된다. 클래스 클래스는 하나의 의미를 갖는 변수와 함수를 하나의 틀 안에 묶는 것이라고 할 수 있다. C언어에서의 구조체와 그 의미와 구조는 매우 유사하지만 구조체는 변수만을 묶을 수 있다. 클래스를 선언하는 방법은 C언어의 구조체와 같다. 단지 이름만 클래스로 바뀌었을 뿐이다. 클래스에 접근할 때에도 C언어와 마찬가지로 온점을 사용한다. 아래 코드에서 Student 라는 이름의 클래스를 선언하고 클래스 안에 변수 두 개와 함수 하나를 선언해 보겠다.. [C#] 가변 배열 가변 배열 C# 에서는 가변 배열을 지원하는데 이는 배열의 배열이라고 생각하면 쉽다. 선언하는 방법은 아래 코드와 같다. int [][] arr = new int[5][]; arr[0] = new int[10]; arr[1] = new int[5]; arr[2] = new int[7]; arr[3] = new int[8]; arr[4] = new int[2]; 위 코드가 의미하는 것을 시각화하면 다음과 같다. 가변 배열을 사용하면 다차원배열이 항상 M*N 의 크기를 갖고 있는 것과는 다르게 유동적인 크기를 갖을 수 있기 때문에 각 차원별로 원하는 만큼 메모리를 할당하여 유동적으로 사용할 수 있고 메모리를 최대한 효율적으로 사용할 수 있다는 장점이 있다. 이전 1 ··· 17 18 19 20 21 다음