전체 글
-
데이터 타입, 박싱 & 언박싱게임 개발 학원/C# 2024. 3. 4. 16:23
더보기 - 정수 계열 - 부동 소수점 형식 byte (1byte) float (4byte) : 7개의 자릿수 sbyte (1byte) double (8byte) : 15~16개의 자릿수 short (2byte) demical (16byte) : 29자리 데이터 ushort (2byte) int (4byte) - 문자열 형식 uint (4byte) string (데이터 범위가 따로 정해져 있지 x) long (8byte) ulong (8byte) - 논리 형식 char (2byte) bool (1byte) : true false object 형식 object : 물건 객체라는 뜻, 어떤 데이터든지 다룰 수 있음 C#은 object가 모든 데이터를 다룰 수 있도록 하기 위해 모든 데이터 형식이 자동으로 ob..
-
값 형식 , 참조 형식게임 개발 학원/C# 2024. 3. 4. 15:36
- 값 형식 : 값형식의 변수는 모두 스택에 저장(중괄호가 끝나면 메모리에서 제거) ex) { int a = 100; int b = 200; int c = 300; } a,b,c 차례대로 스택에 쌓였다가 코드가 끝나면 순서대로 제거 - 참조형식 : 힙은 저장된 데이터를 스스로 제거하지 못함, 가비지 컬렉터가 힙에 더 이상 사용하지 않는 객체가 있으면 그 객체를 수거 { object a = 10; object b = 20; } 실제 값 10과 20은 힙에 저장, a와 b는 값이 저장된 힙의 주소만 스택에 저장 스택 : 변수의 생명 주기가 다 하면 자동으로 데이터를 제거 힙 : 데이터를 참조하는 곳이 없을때 가비지 컬렉터가 데이터를 치워주는 구조
-
시험 복습게임 개발 학원/C++ 2024. 3. 3. 23:01
1. 런타임 에러가 생기는 이유 Null 포인터 ptr을 역참조 하고 있음 Null 역참조 : 프로그램에서 객체가 생성되면 메모리 공간에 할당되어 저장되고 객체의 값을 불러오기 위해서는 객체가 저장된 메모리의 위치주소가 필요하다 객체가 Null인 경우엔 객체가 없는 것으로 간주되어 메모리에 저장되지도, 저장된 주소값도 존재하지 않는다 이런 상황에서 Null인 객체를 호출하면 불러올 주소값이 존재하지 않아 프로그램이 정상적으로 작동할 수 X 2. Value1의 값 : 1 Value2의 값 : 1 Value3의 값 : 3 CopyInt는 Value2의 주소의 값을 복사하는게 아닌 주소를 가져와 그 값을 변경했으므로 Value2에 Value1의 값이 들어가고 CopyInt는 Value3의 실제 주소값을 가져와..
-
-
객체지향 프로그래밍(OOP)게임 개발 학원/C++ 2024. 2. 28. 13:45
객체 지향 프로그래밍(Object Oriented Programing) 1. 객체 객체 : 모든 실재하는 대상 2. 클래스 클래스 : 같은 객체들이 공통적으로 갖는 속성들을 모아서 정의내린 것을 클래스 (이를 추상화라고 함) ex) 객체는 붕어빵, 클래스는 붕어빵을 찍는 기계 3. 객체지향 프로그래밍 (OOP) OPP : 필요한 데이터를 추상화하여 속성과 행위를 가진 객체를 만들고, 그 객체들 간의 유기적인 상호 작용을 통해 로직을 구성하는 프로그래밍 방법 - 프로그램을 보다 유연하고 변경이 용이하게 만들수 있음 - 코드의 변경을 최소화하고 유지보수하는데 유리 4. OPP의 특징 1) 추상화 (Abstration) : 객체의 공통적인 속성과 기능을 추출하여 정의하는 것 2) 상속 (Inheritance)..
-
ref, outC# & 유니티 2024. 2. 27. 18:07
Ref : Pass by Reference(얕은 복사 매개변수 지정자) Out : Output Parameter(출력용 매개변수 - 내부에서 값 할당) ref : 인자를 함수로 넘겨줌 , 매개변수로 전달하기 전에 반드시 초기화 되어야함 out : 함수내에서 정의한 값을 바깥으로 넘겨줌, 매개변수로 전달되기 전에 초기화 하지 않아도 됨 공통점 : 변수를 참조 형태로 전달 ref키워드는 메서드 내에서 전달하는 변수를 변경할때 out키워드는 메서드 내에서 전달하는 변수를 초기화 할때
-
Call by value & Call by reference게임 개발 학원/C++ 2024. 2. 27. 15:45
call by value : 값에 의한 호출, (값을 인자로 전달하는 함수의 호출방식) 호출시 넘기는 값이 매개변수에 복사 call by reference : 참조에 의한 호출(주소값을 인자로 전달하는 함수의 호출방식) call by reference랑 call by value 인자의 값이 매개변수에 복사 된다는 점은 동일 call by reference는 복사되는 값이 데이터의 주소 값(참조값으로 함수를 호출했다) - 참조라는 개념은 포인터 포인터 : 주소를 저장하는 변수 기존의 변수는 데이터를 저장하지만 포인터는 메모리 공간의 주소를 저장 포인터 변수가 주소를 저장하려면 변수의 주소를 알아야한다 변수 이름 앞에 &연산자를 붙이면 해당 변수의 주소를 반환
-
C# 가위바위보(1.하드코딩, 상수, 열거형)C# & 유니티 2024. 2. 25. 17:52
1. 하드코딩으로 가위바위보 만들기 2. 상수를 이용해 가위바위보 만들기 const를 사용하여 정의 변수는 프로그램 중간에 값을 변경할 수 있지만 상수는 초기에 정한 값을 중간에 변경할 수 없음 case문에 변수를 넣으면 오류가 뜸 -> const를 사용하여 상수 처리 (변하지 않는값) 3. enum을 사용해서 가위바위보 만들기 enum은 열거형 상수를 표현하기 위함, (같은 범주에 속하는 여러 개의 상수를 선언할 경우) 각 요소는 별도의 지정이 없으면 첫번쨰 요소가 0, 두번째 요소가 1과 같이 1씩 증가된 값을 할당 받는다. 열거형은 변수가 아닌 int, float과 같은 새로운 형식 case문에서 쓸때 (int)로 변환 해주어야함 - int choice = Convert.ToInt32(Console..