C# 프로그래밍 - 속성(property) 속성(Property)은 클래스의 필드(멤버 변수)에 대한 접근자(accessor)를 제공하는 방법입니다. 속성을 사용하면 필드에 직접 접근하는 것보다 객체의 내부를 더 안전하게 관리할 수 있으며(데이터 캡슐화, data encapsulation) 필드에 접근하고 설정할 때 추가 로직을 구현할수있습니다(유효성 검사, 기타) 속성(Property)의 구조 접근한정자 자료형 속성이름 { get { // 값을 반환하는 로직 } set { // 값을 설정하는 로직 } } 접근 한정자(Access Modifier) - 속성의 접근 수준을 의미합니다(public, private, internal, protected) 자료형(Data Type) - 속성이 반환하는 값의 자료..
C# 프로그래밍 - 생성자와 소멸자 생성자 (Constructor) 생성자는 클래스의 객체가 생성될 때 자동으로 호출되는 특별한 메서드입니다. 클래스 내부에 정의된 클래스와 동일한 이름을 갖는 맴버함수로 주로 객체의 초기화 작업을 수행하는 데 사용됩니다(객체의 필드를 초기화하거나 초기 상태를 설정) 생성자 선언 예시 생성자는 클래스의 이름과 동일하며 반환 유형을 가지지 않습니다. class Person { public string Name; public int Age; public Person() { Name = "Unknown"; Age = 0; } } 객체 생성과 생성자 호출 타입 변수명 = new 타입 (): 객체를 생성할때(클래스가 인스턴스화될때) new 키워드를 사용하여 클래스 내부에 선언한 생..
C# 프로그래밍 - 클래스 상속(Inheritance) 클래스 상속을 사용하여 하나의 클래스가 다른 클래스의 멤버(필드, 속성, 메서드)를 상속받을수있습니다. 기본 클래스는 상속의 기반이 되는 클래스로 베이스 클래스(base class) 또는 부모 클래스(parent class) 라고합니다. 파생 클래스는 상속을 받는 클래스로 파생 클래스(derived class) 또는 자식 클래스(child class) 라고합니다. 기본 클래스에서 파생 클래스로 상속이 이루어지면 파생 클래스에서 기본 클래스의 멤버(필드, 속성, 메소드)를 사용할수있습니다. 상속의 선언 상속은 클래스 선언 시에 다음과 같이 콜론(:)을 사용합니다. class DerivedClass : BaseClass { } 클래스 상속 예시 Dog ..
유니티(Unity)에서 씬(Scene)과 게임오브젝트(GameObject) 이해유니티에서 게임의 월드는 씬의 형태로 표시됩니다. 씬은 xyz축으로 이루어진 데카르트 3D 좌표계에 위치한 게임 오브젝트들의 집합입니다. 게임오브젝트는 씬에서 인스턴스화됩니다. 인스턴스화된 게임 오브젝트들은 컴포넌트 또는 스크립트에서 정의된대로 행동하고 상호작용합니다.게임 오브젝트는 씬에 존재하는 모든것으로 컴포넌트로 구성되어있습니다(콜라이더, 메시, 사운드, 스프라이트, 사용자정의클래스, 기타) 씬의 게임 오브젝트는 좌표계 어딘가에 존재해야하기때문에 적어도 1개의 트랜스폼(Transform) 컴포넌트 를 가집니다(씬에서 create empty를 사용하여 생성한 게임 오브젝트는 Transform 컴포넌트를 가집니다) Tran..
유니티와 C#유니티(unity)는 마이크로소프트의 C# 프로그래밍 언어를 지원합니다(자바도 지원하지만 한계가있습니다)Unity에서 게임 오브젝트의 동작을 제어하고 상호작용을 구현하기 위해 C# 스크립트를 사용할수있습니다. C#스크립트를 작성하고 게임 오브젝트의 행동을 정의하여 움직임, 충돌 감지, UI 조작, 게임 로직 구현, 데이터 관리등 다양한 작업을 수행할수있습니다. C# 스크립트는 .cs 확장자를 가지는 텍스트 파일입니다. 유니티에서 C# 스크립트를 작성하고 편집하는데 비주얼스튜디오(visual studio)라는 IDE를 사용합니다. IDE(Intergrated Development Environment)는 개발자들이 프로그램을 작성, 디버그, 컴파일 및 실행할 수 있도록 통합 개발환경을 제..
C# 프로그래밍 - 데이터 형식 변환 및 캐스팅(Data Type Convertion) 데이터 형식 변환은 하나의 데이터 형식을 다른 데이터 형식으로 변환하는것을 의미합니다. 아래에서 두가지 데이터 형식 변환 방법(암시적 변환, 명시적 변환)을 설명합니다. 암시적 변환(Implicit Conversion) 데이터 형식을 자동으로 변환하는 방법입니다. 작은 범위의 데이터 형식에서 큰 범위의 데이터 형식으로의 변환이 발생할 때 자동으로 암시적 변환이 수행됩니다. 이러한 변환이 가능한 이유는 데이터의 손실 없이 작은 데이터 형식을 큰 데이터 형식에 저장할 수 있기 때문입니다. 예를들어 작은 정수 형식에서 큰 정수 형식으로의 변환, 실수 형식에서 정수 형식으로의 변환, 파생 클래스에서 기본 클래스로의 변환에 암..
프로그래밍에서 코드 작성시 영문 텍스트 표기법 종류(Uppercase, Lowercase, Pascal Case, Camel Case) 프로그래밍에서 코드의 일관성과 가독성을 유지하기 위해 변수명, 함수명, 클래스명 등을 작성할 때 사용할수있는 영문 텍스트 표기법의 종류 Uppercase(대문자) 모든 문자를 대문자로 표기합니다. 예시 "HELLO", "WORLD" Lowercase(소문자) 모든 문자를 소문자로 표기합니다. 예시 "hello", "world" Pascal Case(파스칼 표기법) 여러 단어를 사용할 때 각 단어의 첫 글자를 대문자로 표기하고 나머지는 소문자로 표기합니다. 예시 "MyVariableName", "MyColor" Camel Case(카멜 표기법) 파스칼 표기법과 유사하지만 ..
C# 프로그래밍 - 상수(constant) 상수(constant) 상수(constant)는 프로그램에서 고정된 값으로 사용되어 한 번 선언되면 해당 값을 변경할수없는 필드입니다. 프로그램에서 반복적으로 사용되는 고정된 값을 사용하여 코드의 일관성을 높일수있고 값이 변경되지않도록 보장하여 코드의 안정성을 높일수있습니다. 상수의 선언 const 데이터형식 상수이름 = 값; 상수는 const 키워드를 사용하여 선언됩니다. 상수는 선언과 동시에 값을 할당해야 하며 이후에는 값을 변경할 수 없습니다. 상수는 컴파일 시간에 해당값을 설정하여 실행 시간에 변경되지 않습니다. 상수의 사용예시 예시1 const int MaxValue = 100; // 정수형 상수 선언 const string Greeting = "Hel..
C# 프로그래밍 - 연산자(Operator) 연산자 C#은 여러 종류의 연산자(Operator)를 제공하며 변수 및 값들의 수학적, 논리적 연산을 수행할수있습니다. 연산자는 피연산자(operand)라고 불리는 값들에 대해 특정한 동작을 수행합니다. a=b+c; b,c는 피연산자, +는 연산자 연산자의 종류 산술연산자, 증감 연산자, 대입 연산자, 비교 연산자, 논리 연산자, 비트 연산자 산술 연산자(+, -, *, /, %) + 덧셈, 피연산자를 더합니다. - 뺄셈, 피연산자를 뺍니다. * 곱셈, 피연산자를 곱합니다. / 나눗셈, 피연산자를 나눕니다. % 나머지, 피연산자를 나눈 후 남은 나머지를 반환합니다(modulus operator) 예를들어 int c; c=10%3; 일때 변수 c에는 1이 대입된..
C# 프로그래밍 - 박싱(Boxing)과 언박싱(Unboxing)박싱(Boxing)과 언박싱(Unboxing)은 값 타입(value type)과 참조 타입(reference type) 간의 변환을 의미합니다. 박싱(Boxing)은 값 타입(int, char, bool, 구조체등)을 객체(참조 타입)로 변환하는 과정입니다. 값 타입은 스택에 저장되고 객체는 힙에 저장되므로 박싱을 통해 값 타입의 데이터를 힙에 저장할 수 있습니다. 사용 예시int number = 42; // 값 타입 object boxedNumber = number; // 박싱 number라는 int 값은 boxedNumber라는 object 타입으로 박싱됩니다. 이 과정에서 int 값은 객체로 변환되..
C# 프로그래밍 - 주석(Comment)을 작성하는 방법(한줄주석, 여러줄주석, xml주석) C#에서 주석(Comment)은 코드에 대한 설명이나 메모를 작성할 수 있는 기능입니다. 주석은 컴파일러에 의해 무시되며 프로그램 실행에는 영향을 주지 않습니다. 한 줄 주석(Single-line Comment) 한 줄 주석(단일 행 주석)은 // 기호를 사용하여 표시하며 해당 줄에서 // 이후의 모든 내용은 주석으로 처리됩니다. 예시 // 이것은 단일 행 주석입니다. int x = 5; // 변수 x에 5를 할당합니다. 여러 줄 주석(Multi-line Comment) 여러 줄 주석(다중 행 주석)은 여러 줄에 걸쳐 주석을 작성할 때 사용하는 방법입니다. /*로 시작하여 */로 종료하는 블록으로 사이에 있는 모..
C#의 데이터 타입(자료형) C#의 데이터 타입은 .NET Framework의 기본 클래스 라이브러리에 정의되어 있습니다. (.NET Framework의 다른 언어들도 C#과 동일한 데이터 타입을 사용합니다. 이는 CTS(Common Type System)라고 불리는 공통 데이터 타입 시스템에 의해 가능합니다. CTS는 .NET Framework에서 사용되는 모든 언어에서 공통적으로 사용되는 데이터 타입을 정의하고 이러한 데이터 타입이 상호 호환되도록 보장합니다) 데이터 타입 분류 기본 제공 형식(built-in Types, Primitive Types) C#에서 기본으로 제공하는 미리 정의된 데이터 타입으로 int, float, char, string, bool등이 있습니다. 사용자 정의 형식(User..