[C#] 컴퓨터 구조 입문(High/Low Level, 메모리, 함수의 구현/호출부, delegate)
2023. 7. 7. 15:08ㆍC#
728x90
반응형
8비트 = 1바이트 (8자리 2진수)
알파벳 1자 = 1바이트
High Level 언어 / Low Level 언어
저수준, 고수준은 두 항목을 비교했을 때의 의미이다.
기계어와 어셈블리어가 있다면 기계어가 Low Level, 어셈블리어가 High Level이 되고,
어셈블리어와 C언어가 있다면 어셈블리어가 Low Level, C언어가 High Level이 된다.
C언어와 C#이 있다면 C언어가 Low Level, C#이 High Level이 된다.
고수준으로 갈수록 하부단계를 몰라도 되지만 저수준을 이해하면 고수준의 내용을 더 확실하게 이해할 수 있다.
메모리의 종류
- 스택(Stack): 빠르게 사용하는 쌓이는 메모리의 종류. 쌓였다가 사용이 끝나면 사라진다.
- 힙(Heap): 마구간에 있는 건초처럼 늘어놓고 보관한다는 의미. 큰 자료를 관리하기 위한 메모리.(게임에서 사용되는 그림, class) 레퍼런스(reference)는 바로가기와 같은 기능이다. 변수가 참조를 가지고 있다는 뜻은 변수가 실제 데이터를 가리킨다는 의미이다.
- 스태틱(Static): 메모리의 공간을 정해놓고 여러 곳에서 공통으로 공유하여 사용하는 메모리
이처럼 메모리 종류가 구분되어 있는 이유는 데이터 종류에 따라 최대의 속도와 최적의 상황으로 사용하기 위함이다.
함수의 동작
void Start()
{
int a = 10, b = 20, result;
result = Add(a, b); //함수의 호출부
print(result);
}
int Add(int x, int y) //함수의 구현부
{
int z;
z = x + y;
return z;
}
C# Delegate
대리자를 두고 함수를 대리자가 호출하도록 하는 기능. delegate가 없어도 상관 없지만 타이핑을 줄이고 프로그래밍을 효과적으로 하기 위해서 사용한다.
함수를 저장하는 공간으로써 두 수를 더하는 함수를 실행해야할 때는 두 수를 더하는 함수를 저장하고, 두 수를 빼는 함수를 실행해야할 때는 두 수를 빼는 함수를 저장한다. 즉, 상황에 따라 다른 동작이 실행되도록 구현한다.
728x90
반응형
'C#' 카테고리의 다른 글
[C#] 콘솔과 유니티에서 숫자 입력값 받기 (0) | 2023.08.02 |
---|---|
[C#] bool과 long의 형태 (0) | 2023.08.01 |
[C#] 함수의 입출력 (0) | 2023.07.06 |
[C#] int와 float의 형변환과 연산 (0) | 2023.06.29 |
[Unity] C# Class, 생성자(constructor) 정리 (0) | 2023.05.02 |